Issue
This question is about developing J2EE with NetBeans/Payara.
Since using NetBeans 11.3, deployment of my EAR-Project to payara is really slow.
Problem:
I have about 20 message driven beans in my EJB-Module and for every single one of it the following output is written to the console during deployment:
End point determines destination name, Res name: javax.jms.Queue, JNDI name: java:global/jms/<queuename>
descriptor name : <MDB-Name>|#]
This would be ok for me if not on every occurence of such a line it takes a few seconds before the deployment goes on, so deployment-duration is about 120s. It should be about 10s.
Setting:
In NetBeans 8.2 and payara 4.1.x it was ok.
Then I upgraded to NetBeans 11.3 -> Slow behaviour.
Then I upgraded to payara 5.201 -> There it worked a few times like a charme, but the next day: again, very slow deployment. I really don't have a clue why.
Running on Win 10, JDK 1.8
The Messages are pushed into the queue like:
@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);
}
}
A MDB looks like:
@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...
}
I tried some settings in the project propierties, e.g. in Build -> Compile.
I tried different configurations of the @JMSDestinationDefinition, @MessageDriven and in MyMessageSource i found around the Internet, but nothing helped.
I also tried replacing @EJB throught @Inject.
Does anyone have any ideas or advice for me?
If you need further information, please let me know!
Regards, Stefan
Solution
I solved the issue by myself. If anyone cares what the problem was:
It wasn't a NetBeans, Payara or J2EE issue. It was caused by the VPN connection to our company I used so I can do home office. I guess that the server was doing a nice detour through the internet and back again to notice that port 7676 (JMS-Port) is running on the local machine.
Holy cow.
Now I have to find a workaround for that...
Regards, Stefan
Answered By - Lord Firlefanz
Answer Checked By - David Marino (JavaFixing Volunteer)