Java 将计划EJB部署到Glassfish服务器时出现问题
我想部署到Glassfish 3.1应用服务器的EJB有一个奇怪的(?)问题 我有这个bean,应该使用Java 将计划EJB部署到Glassfish服务器时出现问题,java,jakarta-ee,glassfish,ejb,Java,Jakarta Ee,Glassfish,Ejb,我想部署到Glassfish 3.1应用服务器的EJB有一个奇怪的(?)问题 我有这个bean,应该使用@Schedule注释在Glassfish中连续执行。在我向访问数据库的EJB添加了一些代码之前,这对我来说很好 @Stateless public class MyBean implements MyBeanLocal { @Schedule(second = "*", minute = "*", hour = "*") public void initiateProces
@Schedule
注释在Glassfish中连续执行。在我向访问数据库的EJB添加了一些代码之前,这对我来说很好
@Stateless
public class MyBean implements MyBeanLocal {
@Schedule(second = "*", minute = "*", hour = "*")
public void initiateProcess() {
MyCoordinator mc = new MyCoordinatorImpl();
List<Entity> entities = mc.methodAccessingDB();
}
}
@无状态
公共类MyBean实现MyBeanLocal{
@日程安排(秒=“*”,分钟=“*”,小时=“*”)
public void initiateProcess(){
MyCoordinator mc=新的MyCoordinatorImpl();
List entities=mc.methodAccessingDB();
}
}
这是我的EJB,每秒执行一次。如上所述,如果我不调用ac.methodAccessingDB()
,我可以部署这个EJB并成功执行它。
这意味着,我甚至不能将其部署到Glassfish。玻璃鱼告诉我
无效的ejb jar[…]:它包含零个ejb。注:1。一个有效的ejbjar
至少需要一个会话、实体(1.x/2.x样式)或
消息驱动bean。2.EJB3+实体bean(@entity)是POJO和
请将它们打包为库jar。3.如果jar文件包含有效的
使用EJB组件级注释进行注释的EJB
(@Stateless、@Stateful、@MessageDriven、@Singleton),请检查
server.log以查看批注是否得到正确处理。。
有关详细信息,请参阅server.log
如果我只写
List entities=null代码>而不是列出实体=ac.methodAccessingDB()代码>我可以部署它,并且运行良好。好的,现在我找到了解决此问题的方法。EJB在部署的版本上找不到类。解决方案是将所有内容打包到一个ear项目中。我使用的是maven,所以我在最后创建了3个项目
- 一个用于EJB
EJB
- 一个用于EAR
EAR
- 以及第三个父项目,它将其他两个项目集成为
李>
然后我把包好的耳朵放在玻璃鱼身上,计时器启动了,所有的东西都在那里 上面的代码中有一个错误。变量名为mc
,但您正在ac
上调用methodAccessingDB
。好啊我的错误是,我在发布到Stackoverflow之前更改了名称。谢谢