Когда я запускаю приложение, у меня есть ошибка в соединении JNDI. Точно, ошибка происходит на lookup
. Вот код:Ошибка при попытке отправить сообщение JMS
public static final String PROPERTIES_FILE = "jms-server"; //$NON-NLS-1$
private static Logger logger = Logger.getLogger(JmsMessageProducer.class);
private static final ResourceBundle res = ResourceBundle.getBundle(PROPERTIES_FILE);
private static final String JBOSS_JNDI_PROVIDER_URL = res.getString("JBOSS_JNDI_PROVIDER_URL");
private static final String JBOSS_JNDI_INITIAL_CONTEXT_FACTORY = res
.getString("JBOSS_JNDI_INITIAL_CONTEXT_FACTORY");
private static final String JBOSS_JMS_CONNECTION_FACTORY = res
.getString("JBOSS_JMS_CONNECTION_FACTORY");
private static final String JNDI_INPUT_JMS_QUEUE = res.getString("JNDI_INPUT_JMS_QUEUE");
/**
* Send JMS Text Message
*
* @param myString
*/
@SuppressWarnings({"unchecked", "rawtypes"})
public void sendJmsTextMessage(String myString) {
Context jndiContext = null;
ConnectionFactory connectionFactory = null;
Connection connection = null;
Session session = null;
Queue queue = null;
MessageProducer messageProducer = null;
try {
// [1] Create a JNDI API InitialContext object.
Hashtable properties = new Hashtable(2);
properties.put(Context.INITIAL_CONTEXT_FACTORY, JBOSS_JNDI_INITIAL_CONTEXT_FACTORY);
properties.put(Context.PROVIDER_URL, JBOSS_JNDI_PROVIDER_URL);
logger.debug("Create Jndi Context with :" + Context.INITIAL_CONTEXT_FACTORY + "="
+ JBOSS_JNDI_INITIAL_CONTEXT_FACTORY + " " + Context.PROVIDER_URL + "="
+ JBOSS_JNDI_PROVIDER_URL);
jndiContext = new InitialContext(properties);
// [2] Look up connection factory and queue.
logger.debug("Create connexion factory :" + JBOSS_JMS_CONNECTION_FACTORY);
connectionFactory = (ConnectionFactory) jndiContext.lookup(JBOSS_JMS_CONNECTION_FACTORY);
logger.debug("Create queue :" + JNDI_INPUT_JMS_QUEUE);
queue = (Queue) jndiContext.lookup(JNDI_INPUT_JMS_QUEUE);
Так, он смотрит в jms-server.properties файлы:
JBOSS_JNDI_PROVIDER_URL = jnp://localhost:1199
JBOSS_JNDI_INITIAL_CONTEXT_FACTORY = org.jnp.interfaces.NamingContextFactory
JBOSS_JMS_CONNECTION_FACTORY = ConnectionFactory
JNDI_INPUT_JMS_QUEUE = queue/Incoming1JobsQueue
Вся ошибка, я получаю:
12: 36: 35198 ERROR JmsMessageProducer: 90 - Ошибка при попытке отправить JMS Сообщение javax.naming.NameNotFoundException: Incoming1JobsQueue не связанный на org.jnp.server.NamingServer.getBinding (Nami ngServer.java:771) at org.jnp.server.NamingServer.getBinding (NamingServer.java:779) at org.jnp.server.NamingServer.getObject (NamingServer.java:785) на сайте org.jnp.server. NamingServer.lookup (NamingServer.java:443) в org.jnp.server.NamingServer.lookup (NamingServer.java:399) на sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method) в> sun.reflect.NativeMethodAccessorImpl. вызывать (NativeMethodAccessorImpl. Java: 57) в> sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAcces sorImpl.java:43) на java.lang.reflect.Method.invoke (Method.java:606) на sun.rmi.server. UnicastServerRef.dispatch (UnicastServerRef.java:322) at sun.rmi.transport.Transport $ 2.run (Transport.java:202) at sun.rmi.transport.Transport $ 2.run (Transport.java:199) at java.security.AccessController.doPrivileged (собственный метод) at sun.rmi.transport.Transport.serviceCall (Transport.java:198) at> sun.rmi.transport.tcp.TCPTransport.handleMessages (TCPTransport.java:5 67) at> sun.rmi.transport.tcp.TCPTransport $ ConnectionHandler.r un0 (TCPTranspor t.java:828) в> sun.rmi.transport.tcp.TCPTransport $ ConnectionHandler.access $ 400 (TCPTr ansport.java:619) в> sun.rmi.transport.tcp.TCPTransport $ ConnectionHandler $ 1.run (TCPTranspo rt.java:684) в> sun.rmi.transport.tcp.TCPTransport $ ConnectionHandler $ 1.run (TCPTranspo rt.java:681) на java.security.AccessController.doPrivileged (Native Method) at> sun.rmi.transport.tcp.TCPTransport $ ConnectionHandler.run (TCPTransport .java: 681) at> java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor. Java: 1145) в> java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor .java: 615) в java.lang.Thread.run (Thread.java:745) в> sun.rmi. transport.StreamRemoteCall.exceptionReceivedFromServer (поток RemoteCall.java:275) в> sun.rmi.transport.StreamRemoteCall.executeCall (StreamRemoteCall.java: 252) на sun.rmi.server.UnicastRef.invoke (UnicastRef.java: 161) at org.jnp.server.NamingServer_Stub.lookup (Неизвестный источник) at org.jnp.interfaces.NamingContext.lookup (NamingContext.java:728) at org.jnp.interfaces.NamingContext.lookup (NamingContext.java : 688) at ja vax.naming.InitialContext.lookup (InitialContext.java:411) at> fr.inra.grignon.persyst.web.jms.JmsMessageProducer.sendJmsTextMessage (JmsMessageProducer.Java: 74) в> fr.inra.grignon.persyst.web.servlet.DoResultats.doPost (DoResultats.ja ва: 407) в javax.servlet.http.HttpServlet.service (HttpServlet.java:650) на javax.servlet.http.HttpServlet.service (HttpServlet.java:731) в> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (Appl icationFilterChain.java:303) в> org.apache.catalina.core .ApplicationFilterChain.doFilter (ApplicationF ilterChain.java:208) в> org.apache.tomcat.websocket.server.WsFilter.doFilter (WsFilter.java:52 ) в> org.apache.catalina.core.ApplicationFilterChain. internalDoFilter (Appl icationFilterChain.java:241) в> org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationF ilterChain.java:208) в> org.apache.catalina.core.StandardWrapperValve.invoke (StandardWrapperV alve.java:220) в> орг .apache.catalina.core.StandardContextValve.invoke (StandardContextV alve.java:122) на org.apache.tomee.catalina.OpenEJBValve.invoke (OpenEJBValve.java:44) в> org.apache.catalina.authenticator. AuthenticatorBase.invoke (Authentica torBase.java:505) в> org.apache.catalina.core.StandardHostValve.invoke (StandardHostValve.j AVA: 170) в> org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.j AVA: 103) в> org.apache.catalina.valves.AccessLogValve.invoke (AccessLogValve.java: 957) в> org.apache.catalina.core.StandardEngineValve.invoke (StandardEngineVal ve.java:116) в> org.apache.catalina.connector.CoyoteAdapter.service (CoyoteAdapter.jav а: 423) в> org.apache.coyote.http11.AbstractHttp11Processor.process (AbstractHttp 11Processor.java:1079) в> орг .apache.coyote.AbstractProtocol $ AbstractConnectionHandler.process ( AbstractProtocol.java:620) в org.apache.tomcat.util.net.JIoEndpoint $ SocketProcessor.run (JIoEndpoin t.java:316) в> java.util , concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor. Java: 1145) в> java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor .java: 615) в> org.apache.tomcat.util.threads.TaskThread $ WrappingRunnable.run (TaskTh чтения. Java: 61) в java.lang.Thread.run (Thread.java:745)
Я использую JBoss и Tomcat (оба) по некоторым причинам. И в JMX консоли JBoss, у меня есть: (вставить его как изображение для отступа)
Я не знаю, где проблема возникает и почему соединение не связано. Заранее спасибо за вашу помощь !