seb*_*ner 5 java tomcat activemq-classic jms tomee
在我的服务器日志中,我偶尔可以看到例外:
Aug 11, 2015 10:13:34 AM org.apache.activemq.broker.TransportConnection serviceTransportException
WARNING: Transport Connection to: tcp://127.0.0.1:55472 failed: java.io.EOFException
Run Code Online (Sandbox Code Playgroud)
那些似乎不是实际事件或消息发送到队列.它们只是随机发生的.
这是Tomcat/Tomee上的ActiveMQ
配置ActiveMQ的代码是:
我的ActiveMQ配置非常简单:
<?xml version="1.0" encoding="UTF-8"?>
<tomee>
<!-- see http://tomee.apache.org/containers-and-resources.html -->
<!-- activate next line to be able to deploy applications in apps -->
<!-- <Deployments dir="apps" /> -->
<Resource id="MyJmsResourceAdapter" type="ActiveMQResourceAdapter">
BrokerXmlConfig = broker:(tcp://localhost:61616)
ServerUrl = tcp://localhost:61616
</Resource>
<Resource id="MyJmsConnectionFactory" type="javax.jms.ConnectionFactory">
ResourceAdapter = MyJmsResourceAdapter
</Resource>
</tomee>
Run Code Online (Sandbox Code Playgroud)
要定义队列我有一个简单的代码:
@Resource(name = "myQueue")
private Queue barQueue;
@Resource
private ConnectionFactory connectionFactory;
/**
* Push Message to Queue
*
* @param payload
* @throws JMSException
*/
private void pushToQueue(Serializable payload) throws JMSException {
Connection connection = connectionFactory.createConnection();
connection.start();
// Create a Session
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
// Create a MessageProducer from the Session to the Topic or Queu
MessageProducer producer = session.createProducer(barQueue);
producer.setDeliveryMode(DeliveryMode.PERSISTENT);
// Create a message
ObjectMessage message = session.createObjectMessage(payload);
// Tell the producer to send the message
producer.send(message);
connection.close();
}
Run Code Online (Sandbox Code Playgroud)
我可以在日志中看到好消息.
我只是随机看到这个EOFException弹出.
没有我向队列添加任何消息就会发生这种情况.
| 归档时间: |
|
| 查看次数: |
4197 次 |
| 最近记录: |