Queue



กก
Write Service File


/*
*Copyright (c) Jmin. All rights reserved.
*/
package first;

import org.jmin.kernel.framework.ext.J2eeAbstractService;

/**
* service sample.
*
* @author Chris liao
* @version 1.0
*/

public class QueueService extends J2eeAbstractService{

/**
* Here, you need't put down anything.
* It is simple ?
*/
}

Write Queue file

/*
*Copyright (c) jmin Organization. All rights reserved.
*/
package first;

import org.jmin.kernel.aspect.msg.jms.queue.Queue;

/**
* Queue sample, just support one customer
*
* @author Chris liao
* @version 1.0
*/

public class HelloQueue extends Queue{

 /**
 * Here,you need't write anything
 */
}
กก

Define xml description file

//*file:service.xml

<?xml version="1.0"?>
<service id="admin">
<components>
  <component id="QueueService" type="service">
  <class>first.QueueService</class>
  <property name="aspectPool">
   <map>
    <entry key="hello" class="first.HelloQueue"/>
   </map>
  </property>
 </component>
</components>
</service>
กก

Deploy Service file

Make a jar file include all class files and description file, then put the jar to Jmin deploy folder
กก

Testing

/*
*Copyright (c) Jmin. All rights reserved.
*/
package first;

import org.jmin.kernel.aspect.msg.MessageListener;
import org.jmin.kernel.aspect.msg.Message;

/**
* Queue sample.
*
* @author Chris liao
* @version 1.0
*/

public class HelloAsynListner implements MessageListener{

  /**
  * handle message
  */
  public void onMessage(Message request){
    System.out.println(request);
  }
}

/*
*Copyright (c) Jmin. All rights reserved.
*/
package first;

import org.jmin.kernel.aspect.msg.SimpleMessage;
import org.jmin.kernel.aspect.msg.jms.queue.QueueProxy;
import org.jmin.kernel.aspect.msg.jms.queue.QueueXmlProxy;
import org.jmin.kernel.aspect.net.NSRB;
import org.jmin.kernel.aspect.net.NetContext;
import org.jmin.kernel.framework.aspect.J2eeAspectAddress;


/**
* Queue sample.
*
* @author Chris liao
* @version 1.0
*/

public class TestQueue {

 public static void main(String args[])throws Exception{

  NSRB nsrb = NSRB.init();
  NetContext context = nsrb.createNetContext("socket://localhost:9988");
  QueueProxy proxy = new QueueProxy();
  proxy.bind(context);
 
  SimpleMessage request = new SimpleMessage();
  J2eeAspectAddress destination= new J2eeAspectAddress();
  destination.setAspectName("QueueService");
  destination.setServiceID("queue");

  proxy1.publish(destination,request);
 
 }
}

/*
*Copyright (c) Jmin. All rights reserved.
*/
package first;

import org.jmin.kernel.aspect.msg.jms.queue.QueueProxy;
import org.jmin.kernel.aspect.net.NSRB;
import org.jmin.kernel.aspect.net.NetContext;
import org.jmin.kernel.util.Locker;

/**
* Queue sample.
*
* @author Chris liao
* @version 1.0
*/


public class TestReceiver {

 public static void main(String args[])throws Exception{

   NSRB nsrb = NSRB.init();
   NetContext context = nsrb.createNetContext("socket://localhost:9988");
   QueueProxy proxy = new QueueProxy();
   proxy1.bind(context);

   HelloAsynListner lister = new HelloAsynListner();
   proxy1.connect("QueueService","hello",lister);
 
   Object obj = new Object();
   Locker.lock(obj);
 }

}
Copyright © 2006 . All Rights Reserved.