- 浏览: 181061 次
最新评论
-
adamed:
zhangwenzhuo 写道为什么this.get()会返回 ...
jQuery源码历代记5 -
zhangwenzhuo:
为什么this.get()会返回本身的呢?
jQuery源码历代记5 -
narutolby:
支持下~,哈哈~
jQuery历代记1 -
cpszy:
mark下
jQuery历代记1 -
gleams:
支持你
jQuery历代记1
Listing 10.1. An Example Stateless Session Bean<o:p></o:p>
列表10.1 一个无状态会话Bean的例子<o:p></o:p>
- import java.rmi.RemoteException;
- import javax.ejb.EJBException;
- import javax.ejb.SessionBean;
- import javax.ejb.SessionContext;
- public class TestBean implements SessionBean {
- /** The session context */
- /** session上下文*/
- private SessionContext context;
- public TestBean() {
- super();
- }
- // EJB Lifecycle Methods not shown for brevity
- //为了简洁起见不显示EJB的生命周期方法
- public void helloWorld() throws EJBException {
- System.out.println("Hello World");
- }
- public void helloWorld(String msg) throws EJBException {
- System.out.println("Hello World - " + msg);
- }
- }
With this EJB deployed and ready in your J2EE application server of choice, you can use the EJBInvokerJob to invoke one of the helloWorld() methods available to remote clients.
将这个EJB部署到你准备好的J2EE容器中,你就可以使用EJBInvokerJob调用一个helloWorld()方法发送给远程客户端。
<o:p> </o:p>
You set up the EJBInvokerJob just as you would for any other job. Listing 10.2 shows an example of using the EJBInvokerJob to invoke the helloWorld() on the SLSB.
你可以像配置其他Job一样配置EJBInvokerJob。列表10.2显示一个在SLSB使用EJBInvokerJob调用helloWorld()方法的例子。
<o:p> </o:p>
Listing 10.2. A Simple Example Using the EJBInvokerJob<o:p></o:p>
列表10.2 一个使用EJBInvokerJob的简单例子<o:p></o:p>
- package org.cavaness.quartzbook.chapter10;
- import java.util.Date;
- import org.apache.commons.logging.Log;
- import org.apache.commons.logging.LogFactory;
- import org.quartz.JobDetail;
- import org.quartz.Scheduler;
- import org.quartz.SchedulerException;
- import org.quartz.Trigger;
- import org.quartz.TriggerUtils;
- import org.quartz.impl.StdSchedulerFactory;
- import org.quartz.jobs.ee.ejb.EJBInvokerJob;
- public class Listing_10_2 {
- static Log logger = LogFactory.getLog(Listing_10_2.class);
- public static void main(String[] args) {
- Listing_10_2 example = new Listing_10_2();
- try {
- // Create a Scheduler and schedule the Job
- //建立Scheduler并且调度Job
- Scheduler scheduler = example.createScheduler();
- example.scheduleJob(scheduler);
- // Start the Scheduler running
- //执行Scheduler
- scheduler.start();
- logger.info("Scheduler started at " + new Date());
- } catch (SchedulerException ex) {
- logger.error(ex);
- }
- }
- // Schedule the EJBInvokerJob
- private void scheduleJob(Scheduler scheduler) throws SchedulerException {
- // Create a JobDetail for the Job
- JobDetail jobDetail = new JobDetail("HelloWorldJob",
- Scheduler.DEFAULT_GROUP,
- org.quartz.jobs.ee.ejb.EJBInvokerJob.class);
- loadJobDataMap(jobDetail);
- // Create a trigger that fires every 10 seconds, forever
- //建立一个每隔10秒运行一次且无限循环的触发器。
- Trigger trigger = TriggerUtils.makeSecondlyTrigger(10);
- trigger.setName("helloWorldTrigger");
- // Start the trigger firing from now
- //现在开始执行触发器
- trigger.setStartTime(new Date())
- // Associate the trigger with the job in the scheduler
- //在scheduler中关联触发器与作业
- scheduler.scheduleJob(jobDetail, trigger);
- }
- /*
- * Configure the EJB parameters in the JobDataMap
- * 在JobDataMap中配置EJB参数
- */
- public JobDetail loadJobDataMap(JobDetail jobDetail) {
- jobDetail.getJobDataMap().put(EJBInvokerJob.EJB_JNDI_NAME_KEY,
- "ejb/HelloWorldSession");
- jobDetail.getJobDataMap().put(EJBInvokerJob.EJB_METHOD_KEY,
- "helloWorld");
- jobDetail.getJobDataMap().put(EJBInvokerJob.PROVIDER_URL,
- "t3://localhost:7001");
- jobDetail.getJobDataMap().put(
- EJBInvokerJob.INITIAL_CONTEXT_FACTORY,
- "weblogic.jndi.WLInitialContextFactory");
- return jobDetail;
- }
- /*
- * return an instance of the Scheduler from the factory
- * 从工厂中返回一个Scheduler实例
- */
- public Scheduler createScheduler() throws SchedulerException {
- return StdSchedulerFactory.getDefaultScheduler();
- }
- }
As you can see from Listing 10.2, the EJBInvokerJob is configured like any other job. A JobDetail and trigger are created and registered with the Scheduler. Several JobDataMap parameters can be used for the job to function properly with various J2EE containers. Table 10.1 lists the JobDataMap parameters that the job supports.
The parameters you add to the JobDataMap depend on which J2EE server you're using and what its requirements are. For example, if you're using BEA WebLogic, you would need to specify at least the ones from Listing 10.1, obviously substituting values for your specific environment. If you were using WebSphere, most of the values would be different.
<o:p> </o:p>
传入JobDataMap中的参数依赖于你使用的容器的需要。例如:如果你使用BEA 的WebLogic你需要指定至少从列表10.1中定义的参数,当然如果你指定了其他环境则需要使用其他参数。如果你使用WebSphere,大部分的值都是不一样的。
<o:p> </o:p>
When we set up and run Listing 10.2 within our external Quartz application, every 10 seconds the helloWorld() method on the EJB is invoked. This approach is nice because we don't have to worry about deploying the Quartz application within the J2EE container. It enforces a separation of job information from business processing logic.
<o:p> </o:p>
当我们定义并运行外部Quartz应用程序(列表10.2中定义的),每隔10秒EJB都会调用helloWord()方法。这种方法的好处在于我们不用考虑如何将Quartz应用部署到J2EE容器中。它分离了job信息与业务处理逻辑。
<o:p> </o:p>
Table 10.1. The EJBInvokerJob Uses Several Parameters, Depending on Your Specific J2EE Server<o:p></o:p> 表10.1 依赖与不同的J2EE服务器EJBInvokerJob使用的参数<o:p></o:p> |
|
Static Constant<o:p></o:p> 静态常数<o:p></o:p> |
String Value<o:p></o:p> 字符串值<o:p></o:p> |
EJB_JNDI_NAME_KEY |
ejb |
Notes: JNDI name of the bean's home interface |
|
PROVIDER_URL |
java.naming.provider.url |
Notes: Vendor-specific URL that specifies where the server can be found |
|
INITIAL_CONTEXT_FACTORY |
java.naming.factory.initial |
Notes: Vendor-specific context factory that is used to look up resources |
|
EJB_METHOD_KEY |
method |
Notes: Name of the method to invoke on the EJB |
|
EJB_ARGS_KEY |
args |
Notes: Object[] of the args to pass to the method (optional, if left out, there are no arguments) |
|
EJB_ARG_TYPES_KEY |
argType |
Notes: Class[] of the args to pass to the method (optionalif left out, the types will be derived by calling getClass() on each of the arguments) |
|
PRINCIPAL |
java.naming.security.principal |
Notes: The principal (user) to be used for the EJB method call |
|
CREDENTIALS |
java.naming.security.credentials |
Notes: The credentials to be used for the EJB method call |
<o:p> </o:p>
发表评论
-
JQuery CookBook翻译连载7(第四章)
2010-06-29 18:45 982今天超级爆发,整理出来第四章中文版翻译。 -
JQuery CookBook翻译连载6(第三章)
2010-06-29 11:31 967放出jQuery CookBook翻译的第三章。 最近找工作 ... -
JQuery CookBook 翻译连载6(第2章发布)
2010-06-01 14:15 909jQuery Cookbook第1、2章合订版。 不知 ... -
JQuery CookBook 翻译连载5(第1章发布)
2010-05-16 16:55 889jQuery cookBook 第一章翻译打包发布。 ... -
JQuery CookBook翻译连载1
2010-05-14 11:46 7871.1 在HTML页面中添加j ... -
JQuery CookBook翻译连载2
2010-05-14 11:45 7671.2 在页面DOM加载结束后、整个页面加载结束前执行jQue ... -
JQuery CookBook翻译连载3
2010-05-14 11:34 6561.3 使用选择器及jQuery函 ... -
JQuery CookBook翻译连载4
2010-05-14 11:09 6401.4 在特定的上下文 中查找元素 问 ... -
Quartz Job Scheduling Framework第11章翻译初稿
2007-10-27 15:21 1024内容在附件中 -
Quartz Job Scheduling Framework第7章翻译初稿
2007-10-27 15:18 1086内容在附件中 -
Quartz Job Scheduling Framework第5章翻译初稿
2007-10-27 15:18 933在附件中 -
Quartz Job Scheduling Framework第2章翻译初稿
2007-10-27 15:17 1116在附件中 -
Quartz Job Scheduling Framework第8章翻译初稿 续
2007-09-27 19:46 2115You can have as many properti ... -
Quartz Job Scheduling Framework第8章翻译初稿
2007-09-27 19:42 2594Chapter 8. Using Quartz Plug- ... -
Quartz Job Scheduling Framework翻译初稿奉上
2007-09-26 21:55 1550由于时间与水平限制。这本经典书籍翻译的可能并不尽如人意,在此先 ... -
Quartz Job Scheduling Framework第10章翻译初稿 续
2007-09-26 21:53 1938In the example in Listing 10. ...
相关推荐
Quartz Job Scheduling Framework第2章翻译初稿 博文链接:https://adamed.iteye.com/blog/135880
博文链接:https://adamed.iteye.com/blog/135883
博文链接:https://adamed.iteye.com/blog/135881
博文链接:https://adamed.iteye.com/blog/135882
起点小说解锁.js
299-煤炭大数据智能分析解决方案.pptx
299-教育行业信息化与数据平台建设分享.pptx
网络技术和计算机技术发展至今,已经拥有了深厚的理论基础,并在现实中进行了充分运用,尤其是基于计算机运行的软件更是受到各界的关注。加上现在人们已经步入信息时代,所以对于信息的宣传和管理就很关键。系统化是必要的,设计网上系统不仅会节约人力和管理成本,还会安全保存庞大的数据量,对于信息的维护和检索也不需要花费很多时间,非常的便利。 网上系统是在MySQL中建立数据表保存信息,运用SpringBoot框架和Java语言编写。并按照软件设计开发流程进行设计实现。系统具备友好性且功能完善。 网上系统在让售信息规范化的同时,也能及时通过数据输入的有效性规则检测出错误数据,让数据的录入达到准确性的目的,进而提升数据的可靠性,让系统数据的错误率降至最低。 关键词:vue;MySQL;SpringBoot框架 【引流】 Java、Python、Node.js、Spring Boot、Django、Express、MySQL、PostgreSQL、MongoDB、React、Angular、Vue、Bootstrap、Material-UI、Redis、Docker、Kubernetes
时间复杂度是计算机科学中用来评估算法效率的一个重要指标。它表示了算法执行时间随输入数据规模增长而变化的趋势。当我们比较不同算法的时间复杂度时,实际上是在比较它们在不同输入规模下的执行效率。 时间复杂度通常用大O符号来表示,它描述了算法执行时间上限的增长率。例如,O(n)表示算法执行时间与输入数据规模n呈线性关系,而O(n^2)则表示算法执行时间与n的平方成正比。当n增大时,O(n^2)算法的执行时间会比O(n)算法增长得更快。 在比较时间复杂度时,我们主要关注复杂度的增长趋势,而不是具体的执行时间。这是因为不同计算机硬件、操作系统和编译器等因素都会影响算法的实际执行时间,而时间复杂度则提供了一个与具体实现无关的评估标准。 一般来说,时间复杂度越低,算法的执行效率就越高。因此,在设计和选择算法时,我们通常希望找到时间复杂度尽可能低的方案。例如,在排序算法中,冒泡排序的时间复杂度为O(n^2),而快速排序的时间复杂度在平均情况下为O(nlogn),因此在处理大规模数据时,快速排序通常比冒泡排序更高效。 总之,时间复杂度是评估算法效率的重要工具,它帮助我们了解算法在不同输入规模下的性
5G通信行业、网络优化、通信工程建设资料
网络技术和计算机技术发展至今,已经拥有了深厚的理论基础,并在现实中进行了充分运用,尤其是基于计算机运行的软件更是受到各界的关注。加上现在人们已经步入信息时代,所以对于信息的宣传和管理就很关键。系统化是必要的,设计网上系统不仅会节约人力和管理成本,还会安全保存庞大的数据量,对于信息的维护和检索也不需要花费很多时间,非常的便利。 网上系统是在MySQL中建立数据表保存信息,运用SpringBoot框架和Java语言编写。并按照软件设计开发流程进行设计实现。系统具备友好性且功能完善。 网上系统在让售信息规范化的同时,也能及时通过数据输入的有效性规则检测出错误数据,让数据的录入达到准确性的目的,进而提升数据的可靠性,让系统数据的错误率降至最低。 关键词:vue;MySQL;SpringBoot框架 【引流】 Java、Python、Node.js、Spring Boot、Django、Express、MySQL、PostgreSQL、MongoDB、React、Angular、Vue、Bootstrap、Material-UI、Redis、Docker、Kubernetes
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
5G通信行业、网络优化、通信工程建设资料
《基于小程序的交友系统的设计与实现》是一个融合了小程序技术和社交功能的毕业设计项目。该项目旨在通过开发一款小程序,为用户提供一个便捷、有趣的交友平台,满足用户寻找新朋友、拓展社交圈的需求。 一、项目背景与目标 随着移动互联网的普及,小程序以其轻便、易用的特性受到了广大用户的喜爱。本项目旨在利用小程序技术开发一款交友系统,通过简洁明了的界面设计和丰富多样的社交功能,吸引用户参与并提升用户体验。通过实现这一系统,旨在帮助用户拓展社交圈,增进人际关系,并推动社交领域的创新与发展。 二、系统设计与功能实现 用户注册与登录:系统提供用户注册与登录功能,确保用户信息的真实性和安全性。用户可以通过手机号或第三方社交账号进行注册和登录。 个人资料展示:用户可以在个人资料页面展示自己的基本信息、兴趣爱好、照片等,以便其他用户了解并产生互动。 附近的人:系统通过定位功能展示附近的其他用户,用户可以浏览附近的人的信息,并主动发起聊天或交友请求。 聊天功能:系统提供一对一的聊天功能,用户可以与感兴趣的人进行实时交流,增进彼此的了解。 活动组织:用户可以发起或参与各类线下活动,如聚会、运动、旅行
5G通信行业、网络优化、通信工程建设资料
shampoo-sales.csv
59-《煤矿测量规程(1989版)》150.pdf
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
5G通信行业、网络优化、通信工程建设资料。