小编Mr.*_*eng的帖子

如何在MappingJackson2MessageConverter中设置typeIdPropertyName

有了Spring4 + ActiveMQ,我想从队列接收JMS消息,并自动转换为POJO.所以我添加MappingJackson2MessageConverterDefaultJmsListenerContainerFactory

@Bean
public DefaultJmsListenerContainerFactory jmsListenerContainerFactory() {
    DefaultJmsListenerContainerFactory factory = new DefaultJmsListenerContainerFactory();

    // some other config

    MappingJackson2MessageConverter converter = new MappingJackson2MessageConverter();
    converter.setTargetType(MessageType.TEXT);
    converter.setTypeIdPropertyName("???");
    factory.setMessageConverter(converter);

    return factory;
}
Run Code Online (Sandbox Code Playgroud)

这是我的Listener配置

@JmsListener(destination = "queue.fas.flight.order", containerFactory = "jmsListenerContainerFactory")
public void processOrder(OrderRegisterDto registerParam) {
    System.out.println(registerParam.toString());
}
Run Code Online (Sandbox Code Playgroud)

问题是,我不知道如何设置TypeIdPropertyName.队列不在我的控制之下,其他人发送JSON给它.

我想要一个普通的转换器.所以我使用String接收消息,并手动将其转换为POJO.
Spring4 + ActiveMQ
还有更好的方法吗?

java activemq-classic spring-jms

8
推荐指数
1
解决办法
4457
查看次数

为什么 CLH Lock 在 Java 中需要 prev-Node

这是java中典型的CLH-Lock:

public class CLHLock{  

    private final AtomicReference tail;

    // why we need this node?  
    private final ThreadLocal myPred;  

    private final ThreadLocal myNode;  

    public CLHLock() {  
        tail = new AtomicReference(new QNode());  
        myNode = new ThreadLocal() {  
            protected QNode initialValue() {  
                return new QNode();  
            }  
        };  

        myPred = new ThreadLocal();  
    }  

    public void lock() {  
        QNode node = myNode.get();  
        node.locked = true;  
        QNode pred = tail.getAndSet(node); 

        // this.myPred == pred 
        myPred.set(pred);  
        while (pred.locked) {  
        }  
    }  

    public void unlock() {  
        QNode node …
Run Code Online (Sandbox Code Playgroud)

java concurrency multithreading synchronized spinlock

4
推荐指数
1
解决办法
1117
查看次数