【发布时间】:2020-04-24 06:33:35
【问题描述】:
这个问题是关于使用 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 和 in 的不同配置 我在 Internet 上找到了 MyMessageSource,但没有任何帮助。
我还尝试通过@Inject 替换@EJB。
有人对我有什么想法或建议吗?
如果您需要更多信息,请告诉我!
问候, 斯蒂芬
【问题讨论】: