[ 
https://issues.apache.org/jira/browse/ARTEMIS-3382?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17382525#comment-17382525
 ] 

wang commented on ARTEMIS-3382:
-------------------------------

*program A core code:*
{code:java}
//
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jms.core.JmsMessagingTemplate;
import org.springframework.messaging.Message;
import org.springframework.stereotype.Component;

import javax.jms.Destination;
import javax.jms.TextMessage;
import java.util.concurrent.TimeoutException;

@Component
public class JmsUtils {
private JmsMessagingTemplate jmsMsgTemplate;
 
public String sendAndReceive(String queueName, final String messageStr,Integer 
timeOutSec) throws Exception {
 jmsMsgTemplate.getJmsTemplate().setReceiveTimeout(timeOutSec*1000);
 logger.info(queueName+"<<<<<<"+messageStr);
 String message= 
jmsMsgTemplate.convertSendAndReceive(queueName,messageStr,String.class);
 if(message==null){
 logger.error("wait timeout:tempQueue"+"|"+timeOutSec);
 throw new TimeoutException();
 }
 logger.info("tempQueue>>>>>>"+message);
 return message;
}
}{code}
 

*program B core code:*
{code:java}
//
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jms.annotation.JmsListener;
import org.springframework.jms.config.JmsListenerEndpointRegistry;
import org.springframework.jms.listener.MessageListenerContainer;
import org.springframework.stereotype.Component;

import javax.annotation.PostConstruct;
import javax.annotation.Resource;
import javax.jms.*;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;

@Component
public class PublicOrderQueueListener implements 
MessageListener,IThreadListener {
@Resource
private JmsUtils queueSender;

@Override
@JmsListener(destination = MqConstant.ORDER_QUEUE_PUBLIC,id = 
MqConstant.ORDER_QUEUE_PUBLIC)
public void onMessage(Message message) {
   String replyTo =  ((Queue) message.getJMSReplyTo()).getQueueName();
   queueSender.send(replyTo, 'xxxx');
}

}
}{code}
{code:java}
 {code}

> Cannot publish to a deleted Destination: temp-queue:
> ----------------------------------------------------
>
>                 Key: ARTEMIS-3382
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-3382
>             Project: ActiveMQ Artemis
>          Issue Type: Bug
>          Components: JMS
>    Affects Versions: 2.17.0
>         Environment: OS:Alibaba Cloud Linux release 3 (Soaring Falcon)(Linux 
> kernel 5.10 LTS)
> JDK version:1.8.0_251
>  
>            Reporter: wang
>            Priority: Blocker
>              Labels: JmsMsgTemplate, SendAndReceive
>
> JDK version:1.8.0_251
> spring-jms-5.2.7
> artemis2.17.0, default configuration
> has A、B two JAVA program in one machine,
> A send a synchronization mesage,B reply,
> run  a few days later,
> B throw exception on reply.
> return normal after restart program.
> A:
> jmsMsgTemplate.getJmsTemplate().setReceiveTimeout(20*1000);
>  String message= 
> jmsMsgTemplate.convertSendAndReceive(queueName,messageStr,String.class);
> B: reply,not timeout, but throw  this exception:
> Cannot publish to a deleted Destination: 
> temp-queue://ID:iZwz96vtq89cjmxpw5w9boZ-40113-1624574577491-1:1:588; nested 
> exception is javax.jms.InvalidDestinationException: Cannot publish to a 
> deleted Destination: 
> temp-queue://ID:iZwz96vtq89cjmxpw5w9boZ-40113-1624574577491-1:1:588; nested 
> exception is org.springframework.jms.InvalidDestinationException: Cannot 
> publish to a deleted Destination: 
> temp-queue://ID:iZwz96vtq89cjmxpw5w9boZ-40113-1624574577491-1:1:588; nested 
> exception is javax.jms.InvalidDestinationException: Cannot publish to a 
> deleted Destination: 
> temp-queue://ID:iZwz96vtq89cjmxpw5w9boZ-40113-1624574577491-1:1:588
>  
> this is a bug? or default configuration is not support  synchronization 
> mesage?
>  What should I do?



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to