我正在成功地将消息从本地Eclipse安装程序推入到ActiveMQ中。但是,当我尝试以cron作业的形式从服务器执行时,相同的代码不会推送消息。它甚至不会在代码执行期间抛出异常。
Java环境- 1.8
使用的辅助罐:
代码:
try {
map = getMessageDetails(session,"MessageQueueEmail");
userName = map.get("userName");
password = map.get("password");
hostName = map.get("mqHostName");
queue = map.get("queueName");
// Create a ConnectionFactory
ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory(userName, password, hostName);
// Create a Connection
connection = factory.createConnection();
// start the Connection
connection.start();
System.out.println("MQ started connection");
// Create a Session
sessionMQ = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
// Create the destination Queue
Destination destination = sessionMQ.createQueue(queue);
// Create a MessageProducer from the Session to the Queue
messageProducer = sessionMQ.createProducer(destination);
messageProducer.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
// Create a message
Message message = sessionMQ.createTextMessage(textMsg);
System.out.println("MQ Message sent successfully");
// Tell the producer to send the message
messageProducer.send(message);
} catch(Exception e) {
e.printStackTrace();
System.out.println("\n::::::::::::Error occurred sendEmailMessageToIntranet::::::::::::: " + e.getMessage());
}发布于 2019-01-20 14:42:53
谢谢大家的回应。将正确的证书文件导入服务器后,将解决此问题。不知道,为什么MQ尝试失败通知没有记录。
发布于 2019-01-19 09:10:01
您的代码看起来很好,但可能会过期。尝试持之以恒,而且最有可能的问题是,您没有在您的cronjob中重定向stderr?一定要做这样的事情:
*/1 ***/out.log/send.sh &>> /out.log/out.log
然后早上再登记。
https://stackoverflow.com/questions/54242721
复制相似问题