石英工作内部注射

发布于 2024-11-06 07:19:33 字数 542 浏览 0 评论 0原文

我正在使用 weblogic 11,ejb3.0

我正在尝试在实现 Job 的类中进行 Ejb 注入 (org.quartz.job) 没有成功。

所以我想把我的工作类设置为无状态 bean。像这样:

 @Stateless(mappedName = "StartSyncJob")
 @Local(
  { StartSyncJob.class })
 public class StartSyncJob implements Job  
  ...

然后再次尝试内部 Ejb 注入,但出现异常:

blogic.ejb.container.compliance.ComplianceException:类 java.lang.Object 中的业务方法通知不得声明为 Final

猜测我无法注释实现 Job 接口的类。

还有其他想法我该怎么做?

我的主要目标是从我的 Job 类调用存在于另一个部署中的无状态 bean。

I am using weblogic 11, ejb3.0

I am trying to do Ejb injection inside a class which implements Job (org.quartz.job)
No success.

So i Thought to make my job class as a stateless bean. like that:

 @Stateless(mappedName = "StartSyncJob")
 @Local(
  { StartSyncJob.class })
 public class StartSyncJob implements Job  
  ...

and then tried the Ejb injection inside again but I got exception:

blogic.ejb.container.compliance.ComplianceException: Business method notify in class java.lang.Object must not be declared as final

Guess I cant annotate a class which implements Job interface.

any other Idea how can I do it?

My main target is to call stateless bean which exists in another deployment from my Job class.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

雨后咖啡店 2024-11-13 07:19:33

容器只能注入由容器创建/管理的东西。

Quartz 实例化作业实例。

因此,两者不能作为一个框架一起发挥作用。

您可以创建自己的 Quartz JobFactory 类的实现来控制作业的实例化 - 并且您的实现可以委托给其他东西,例如容器。

另外,在您的工作中,您可以自己查找无状态 bean,然后调用它。 Quartz 附带了一个 EjbInvokerJob 来完成此任务(在执行时调用已配置的 ejb)。

The container can only inject things created/managed by the container.

Quartz instantiates the job instances.

Hence the two don't play together as one framework.

You can create your own implementation of Quartz's JobFactory class to be in control of the instantiation of the job - and your implementation can delegate to something else, like the container.

Also, in your job, you can look up the Stateless bean yourself and then invoke it. Quartz ships with an EjbInvokerJob that does just that (invokes a configured ejb when it executes).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文