Этот вопрос касается разработки J2EE с NetBeans / Payara.
Поскольку с использованием NetBeans 11.3 развертывание моего EAR-проекта на 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...
}
Я пробовал некоторые настройки в свойствах проекта, например, в Build -> Compile.
Я пробовал разные конфигурации @JMSDestinationDefinition, @MessageDriven и в MyMessageSource я нашел около Inte rnet, но ничего не помогло.
Я также пытался заменить @EJB throught @ Inject.
У кого-нибудь есть какие-нибудь идеи или советы для меня?
Если вам нужна дополнительная информация, пожалуйста, дайте мне знать!
С уважением, Стефан