मैं जेएमडीआई को रिमोट हॉर्नैटक के बिना सीधे जेएमएस संसाधनों को तुरंत चालू करने की कोशिश कर रहा हूं।हॉर्नेटक्यू जेएमएसएक्सप्शन: सत्र फैक्ट्री बनाने में विफल
मैं ग्रहण आईडीई में अपना परीक्षण कोड चला रहा हूं। HornetQ 2.2.5 पुस्तकालयों का उपयोग करने के लिए मेरे क्लासपाथ को सेटअप करें।
लक्ष्य हॉर्नेटक संस्करण 2.1.2 है। अंतिम, मुझे लगा कि उन्हें पीछे की ओर संगत होना चाहिए, शायद गलत है?
ठीक है, इसलिए मैंने ऑनलाइन दस्तावेज़ीकरण पढ़ा है और जेएनडीआई का उपयोग किए बिना रिमोट जेएमएस सर्वर से कनेक्ट करने के उदाहरणों का पालन किया है। मैं निम्नलिखित अपवाद प्राप्त करता रहता हूं। मुझे यकीन नहीं है कि मैं क्या लापता हूं लेकिन मेरा मानना है कि मेरे पास सबकुछ ठीक से सेटअप है। क्या कोई इस बात को इंगित कर सकता है कि मैं यहां क्या खो रहा हूं? अग्रिम में धन्यवाद।
JMSException: सत्र कारखाना बनाने के लिए
hornetq-configuration.xml पर कनेक्टर विफल है:
<connector name="netty">
<factory-class>org.hornetq.core.remoting.impl.netty.NettyConnectorFactory</factory-class>
<param key="host" value="${10.100.111.222}"/>
<param key="port" value="${hornetq.remoting.netty.port:5445}"/>
</connector>
स्वीकर्ता है:
<acceptor name="netty">
<factory-class>org.hornetq.core.remoting.impl.netty.NettyAcceptorFactory</factory-class>
<param key="host" value="${10.100.111.222}"/>
<param key="port" value="${hornetq.remoting.netty.port:5445}"/>
</acceptor>
मेरे टेस्ट कोड है: कनेक्शन कनेक्शन = शून्य;
try
{
Queue queue = HornetQJMSClient.createQueue("TESTQ");
Map<String, Object> connectionParams = new HashMap<String, Object>();
connectionParams.put(TransportConstants.PORT_PROP_NAME, 5445);
connectionParams.put(TransportConstants.HOST_PROP_NAME, "10.100.111.222");
TransportConfiguration transportConfiguration = new TransportConfiguration(NettyConnectorFactory.class.getName(),
connectionParams);
ConnectionFactory factory = (ConnectionFactory) HornetQJMSClient.createConnectionFactoryWithoutHA(JMSFactoryType.CF, transportConfiguration);
System.out.println("debug: " + factory.getClass());
connection = factory.createConnection();
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
MessageProducer producer = session.createProducer(queue);
TextMessage message = session.createTextMessage("This is a test message");
System.out.println("Sent message: " + message.getText());
producer.send(message);
}
finally
{
if (connection != null)
{
try {
connection.close();
} catch (JMSException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
मैं निम्नलिखित अपवाद
SEVERE: Failed to create netty connection
java.net.SocketTimeoutException: connect timed out
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(Unknown Source)
at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at org.jboss.netty.channel.socket.oio.OioClientSocketPipelineSink.connect(OioClientSocketPipelineSink.java:114)
at org.jboss.netty.channel.socket.oio.OioClientSocketPipelineSink.eventSunk(OioClientSocketPipelineSink.java:74)
at org.jboss.netty.channel.Channels.connect(Channels.java:541)
at org.jboss.netty.channel.AbstractChannel.connect(AbstractChannel.java:218)
at org.jboss.netty.bootstrap.ClientBootstrap.connect(ClientBootstrap.java:227)
at org.jboss.netty.bootstrap.ClientBootstrap.connect(ClientBootstrap.java:188)
at org.hornetq.core.remoting.impl.netty.NettyConnector.createConnection(NettyConnector.java:450)
at org.hornetq.core.client.impl.ClientSessionFactoryImpl.getConnection(ClientSessionFactoryImpl.java:1016)
at org.hornetq.core.client.impl.ClientSessionFactoryImpl.getConnectionWithRetry(ClientSessionFactoryImpl.java:897)
at org.hornetq.core.client.impl.ClientSessionFactoryImpl.connect(ClientSessionFactoryImpl.java:212)
at org.hornetq.core.client.impl.ServerLocatorImpl.createSessionFactory(ServerLocatorImpl.java:602)
at org.hornetq.jms.client.HornetQConnectionFactory.createConnectionInternal(HornetQConnectionFactory.java:611)
at org.hornetq.jms.client.HornetQConnectionFactory.createConnection(HornetQConnectionFactory.java:121)
at org.hornetq.jms.client.HornetQConnectionFactory.createConnection(HornetQConnectionFactory.java:116)
at com.ws.proto.ManualJMS.main(ManualJMS.java:39)
Oct 19, 2011 1:18:50 PM org.hornetq.core.logging.impl.JULLogDelegate warn
WARNING: Tried 1 times to connect. Now giving up on reconnecting it.
Exception in thread "main" javax.jms.JMSException: Failed to create session factory
at org.hornetq.jms.client.HornetQConnectionFactory.createConnectionInternal(HornetQConnectionFactory.java:615)
at org.hornetq.jms.client.HornetQConnectionFactory.createConnection(HornetQConnectionFactory.java:121)
at org.hornetq.jms.client.HornetQConnectionFactory.createConnection(HornetQConnectionFactory.java:116)
at com.ws.proto.ManualJMS.main(ManualJMS.java:39)
Caused by: HornetQException[errorCode=2 message=Cannot connect to server(s). Tried with all available servers.]
at org.hornetq.core.client.impl.ServerLocatorImpl.createSessionFactory(ServerLocatorImpl.java:619)
at org.hornetq.jms.client.HornetQConnectionFactory.createConnectionInternal(HornetQConnectionFactory.java:611)
... 3 more
अगर आपके मुद्दे को हल करता है तो कृपया उत्तर स्वीकार करना न भूलें! :) मैं "एसओएफ पर अंक एकत्र करने की कोशिश कर रहा हूं (केवल मज़े के लिए :)) –
मैंने आपके उदाहरण के बाद अपनी वाक्यविन्यास त्रुटि को सही किया है और boot.log में यह सही ढंग से बांधता है। लेकिन मुझे अभी भी एक ही त्रुटि मिल रही है संदेश। चूंकि ग्राहक 2.2.5 का उपयोग कर रहा है, इसलिए संगतता कोई समस्या नहीं होनी चाहिए, है ना? – Byron
आप कॉन्फ़िगरेशन –