这个问题是关于使用NetBeans / Payara开发J2EE的。
由于使用了NetBeans 11.3,将我的EAR-Project部署到payara的速度确实很慢。
问题:
我在EJB模块中有大约20个消息驱动的bean,对于每个其中一项,以下输出将写入控制台在部署过程中:
End point determines destination name, Res name: javax.jms.Queue, JNDI name: java:global/jms/<queuename>
descriptor name : <MDB-Name>|#]
如果不是在每条这样的行上都发生,这需要几秒钟的时间,部署继续进行,因此部署持续时间约为120秒。应该大约是10秒。
设置:
在NetBeans 8.2和payara 4.1.x中还可以。
然后我升级到NetBeans 11.3->行为缓慢。
然后我升级到payara 5.201->在那里,它像个迷咒一样工作了好几次,但是第二天:再次,部署非常缓慢。我真的不知道为什么。
在Win 10上运行,JDK 1.8
消息像这样被推入队列:
@Stateless
public class MyMessageSource {
@Inject
JMSContext context;
@Resource(mappedName = "java:module/jms/customeredited")
private Queue customerEdited;
...
private void sendToJMSQueue(Serializable container, Queue queue) {
context.createProducer().send(queue, container);
}
}
一个MDB看起来像:
@JMSDestinationDefinition(name = "java:module/jms/customeredited",
interfaceName = "javax.jms.Queue",
resourceAdapter = "jmsra",
destinationName = "customeredited")
@MessageDriven(mappedName = "java:module/jms/customeredited")
public class CustomerEditedHandler implements MessageListener {
@EJB //Also tried @Inject
private SomeService ...;
public CustomerEditedHandler() {
}
@Override
public void onMessage(Message message) {
//...do things...
}
我尝试过项目属性中的一些设置,例如在构建->编译中。
我尝试了@ JMSDestinationDefinition,@ MessageDriven和我在Internet上发现了MyMessageSource,但没有任何帮助。
我也尝试通过@Inject替换@EJB。
有人对我有什么想法或建议吗?
如果需要更多信息,请告诉我!
关于,Stefan
我自己解决了这个问题。如果有人在乎问题是什么,]:>
这不是NetBeans,Payara或J2EE问题。这是由于我使用过与我们公司的VPN连接所致,所以我可以进行家庭办公。我想服务器正在通过Internet绕行,然后再次返回以发现端口7676(JMS-Port)正在本地计算机上运行。
圣牛。
现在我必须为此找到解决方法...
关于,Stefan