Не удалось запустить MDB listner
Я получаю ниже ошибки при запуске слушателя с консоли. 00000086 MDBListenerIm W WMSG0019E: Невозможно запустить прослушиватель MDB
SolaceJMSMessage1**, JMSDestination testqueue: com.ibm.websphere.naming.CannotInstantiateObjectException: возникла исключительная ситуация, когда JNDI NamingManager обрабатывал объект javax.naming.Reference. [Исключением Root ** является javax.naming.NamingException: поиск JNDI не выполнен - имя JNDI должно **** иметь минимальную длину 1]
EJB-jar.xml:
<message-driven id="MessageDriven_jgbmdb_1074133220117">
<ejb-name>SolaceJMSMessage1</ejb-name>
<ejb-class>com.package.solace.SolaceJMSMessageMDB</ejb-class>
<transaction-type>Bean</transaction-type>
<acknowledge-mode>Auto-acknowledge</acknowledge-mode>
<message-driven-destination>
<destination-type>javax.jms.Queue</destination-type>
</message-driven-destination>
</message-driven>
IBM-EJB-банку-bnd.xmi:
<ejbBindings xmi:type="ejbbnd:MessageDrivenBeanBinding" xmi:id="MessageDrivenBeanBinding_jgwmdb_1074133220117" listenerInputPortName="testqueueListenerPort">
<enterpriseBean xmi:type="ejb:MessageDriven" href="META-INF/ejb-jar.xml#MessageDriven_jgbmdb_1074133220117"/>
</ejbBindings>
Я что-то пропускаю в вышеуказанной конфигурации?
3 ответа
Вы можете найти это руководство полезным:
Здесь описывается, как эффективно использовать JMS-интерфейс Solace в WAS, и приводятся примеры ejb-jar.xml и ibm-ejb-jar-bnd.xml.
Я предполагаю, что порты слушателя не используются начиная с WAS 7. Вместо этого попробуйте связать его со спецификацией активации. Следующая конфигурация работает на WAS7 и далее (EJB3).
@MessageDriven(
mappedName = "jms/myInQueue", activationConfig = {
@ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue"),
@ActivationConfigProperty(propertyName = "acknowledgeMode", propertyValue = "Auto-acknowledge") })
@TransactionManagement(TransactionManagementType.BEAN)
public class BatchUpdateMDB implements MessageListener { }
ejb-jar.xml пустой и в ibm-ejb.jar-bnd.xml:
<message-driven name="BatchUpdateMDB">
<jca-adapter activation-spec-binding-name="jms/myQueueInActSpec" destination-binding-name="jms/myInQueue"/>
</message-driven>
Приложения> Типы приложений> Приложения предприятия WebSphere> имя_приложения> имена JNDI EJB в административной консоли.