由于 JMS 目的地,从 NetBeans 11.3 到 Payara4/5 的部署缓慢?

Slow deployment from NetBeans 11.3 to Payara4/5 due to JMS destination?

这个问题是关于使用 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 秒。应该是10s左右。

设置:

在 NetBeans 8.2 和 payara 4 中。1.x没问题。

然后我升级到 NetBeans 11.3 -> 行为缓慢。

然后我升级到 payara 5.201 -> 在那里它像 charme 一样工作了几次,但第二天: 再次,非常缓慢的部署。我真的不知道为什么。

运行 在 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。

有人对我有什么想法或建议吗?

如果您需要更多信息,请告诉我!

此致, 斯特凡

我自己解决了这个问题。 如果有人关心问题出在哪里:

这不是 NetBeans、Payara 或 J2EE 的问题。 这是由于我使用的与我们公司的 VPN 连接造成的,因此我可以在家办公。 我猜想服务器在 Internet 上绕了个弯,然后又回来,注意到本地计算机上的端口 7676 (JMS-Port) 运行。

天哪。

现在我必须找到解决方法...

此致, 斯特凡