首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >从WebSphere MQ迁移到Active MQ

从WebSphere MQ迁移到Active MQ
EN

Stack Overflow用户
提问于 2016-09-23 19:42:12
回答 1查看 1K关注 0票数 -1

有一个类似的问题Procedure to migrate from IBM MQ to ActiveMQ,它是关闭的,但我仍然会尝试。我们的客户希望从WebSphere MQ迁移到Active MQ。在上面提到的问题中,有人说对于JMS,理论上这种迁移将包括应用程序的重新配置。我们的客户说他们的应用程序使用自动生成的.bindings文件。那么,是否可以通过编辑.binding文件并将Active MQ的.jars放到java类路径中来使应用程序与active mq一起工作,或者需要一些其他配置?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-23 22:33:10

为了检查这一点,我尝试了以下方法

a)使用JMSAdmin创建WMQ绑定文件。一旦创建了QCF和队列,我就能够通过JMS查找发送消息并发送消息。

b)对于设置为生成.bindings文件的AMQ,IBM有一些用于generate the bindings file.的示例代码。

完成后,我使用完全相同的代码发送消息,消息被完美地发送到AMQ和WMQ

下面是我能够互操作的示例代码。

代码语言:javascript
复制
public void sendMessages() {

        ConnectionFactory connectionFactory;
        Connection con = null;
        Session session = null;
        MessageProducer producer = null;
        //create initial context properties
        Properties initialContextProperties = new Properties();
        initialContextProperties.put("java.naming.factory.initial", "com.sun.jndi.fscontext.RefFSContextFactory");
        initialContextProperties.put(Context.PROVIDER_URL, "file:/C:/JNDI-Directory/AMQ");
        initialContextProperties.setProperty("transport.jms.security.authentication", "none");

        try {
            InitialContext initialContext = new InitialContext(initialContextProperties);
            //create connection factory object
            //ivtQCF - created connection factory object in IBM-MQ
            connectionFactory = (ConnectionFactory) initialContext.lookup("confact2");
            con = connectionFactory.createConnection();
            con.start();
            session = con.createSession(false, Session.AUTO_ACKNOWLEDGE);
            //localq - created queue in IBM-MQ
            Destination destination = (Destination) initialContext.lookup("dest");
            producer = session.createProducer(destination);
            String msg = "SAMPLE MESSAGE PLACED TO QUEUE";
            TextMessage textMessage = session.createTextMessage(msg);
            producer.send(textMessage);
            con.close();
            session.close();
            producer.close();
        } catch (NamingException e) {
            throw new RuntimeException("Unable to send jms messages", e);
        } catch (JMSException e) {
            throw new RuntimeException("Unable to send jms messages", e);
        }
    }
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39659933

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档