[英]Unable to push message into ActiveMQ
我已成功將消息從本地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());
}
感謝大家的回應。 將正確的證書文件導入服務器后,該問題得以解決。 想知道為什么MQ嘗試失敗通知未記錄
您的代碼看起來還可以,除非您可能要到期。 嘗試使用PERSISTENT,很可能是您在cronjob中沒有重定向stderr的問題? 確保您執行以下操作:
* / 1 * * * * /something/send.sh &>> /something/out.log
然后在早上檢查。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.