activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sule BASOL <kadirba...@icloud.com>
Subject help on topic and queue communication please
Date Wed, 13 Feb 2013 13:18:09 GMT
	Hi , i'm using openejb with activemq but they run on separate jvms.

i tried ;

on openejb jvm : 

@Singleton
@ConcurrencyManagement(ConcurrencyManagementType.CONTAINER)
public class MonitoringTimerService {
    @PostConstruct
    private void init() {
            final Hashtable<String, String> ctxProps = new Hashtable<String, String>(2);
            ctxProps.put("java.naming.factory.initial", "org.apache.activemq.jndi.ActiveMQInitialContextFactory");
            ctxProps.put("java.naming.provider.url", "tcp://localhost:61616");

            final InitialContext activeMQInitialContext = new InitialContext(ctxProps);

            final javax.jms.ConnectionFactory factory = (javax.jms.ConnectionFactory)activeMQInitialContext.lookup("ConnectionFactory");
            final Connection connection = factory.createConnection();
            session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);

            connection.start();

            topic = session.createTopic( "screenNotifications" );
            producer = session.createProducer(topic);
	}

    @Lock(LockType.WRITE)
    @Schedule(second="*/15", minute="*",hour="*",dayOfMonth = "*", persistent=false)
    public void deleteLogs(){
        //check if...
        System.out.println("checking");


        try {
            TextMessage message = session.createTextMessage("Test 1 2 3");
            producer.send(message);
        } catch (JMSException e) {
            e.printStackTrace();  //To change body of catch statement use File | Settings
| File Templates.
        }


        System.out.println("done");

    }
}



This code opens screenNotifications jms topic and sends message every 15 seconds like that
:





Then i've second java swing client that listens for messages from "screenNotifications" like
shown below :


InitialContext activeMQInitialContext = getActiveMQInitialContext();

                javax.jms.ConnectionFactory factory = (javax.jms.ConnectionFactory)activeMQInitialContext.lookup("ConnectionFactory");
                final Connection connection = factory.createConnection();

                final Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
                
                Destination destination = session.createQueue("screenNotifications");

                // MessageConsumer is used for receiving (consuming) messages
                MessageConsumer consumer = session.createConsumer(destination);

                consumer.setMessageListener( this );



    @Override
    public void onMessage(Message message) {
        //To change body of implemented methods use File | Settings | File Templates.
        System.out.println("Deneme");
    }





But i dont get any message from openejb server although queue name with topic is same , whats
wrong ?


Mime
View raw message