0.1.10 • Published 1 year ago

jms-lib v0.1.10

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

Java Message Services Client

多种 jms 服务器的支持

install npm jms-lib --save

驱动支持

  • OpenMQ -- GlassFish(tm) Server Message Queue
  • ActiveMQ -- Apache ActiveMQ
  • HornetQ -- JBoss HornetQ
  • ibmMQ -- IBM WebSphere MQ
  • WebLogic -- Oracle WebLogic MQ

Usage

var jms = require('jms-lib');
jms.initJava(require('java'));

// 到 jms 服务器的连接配置
var opt = {
  driver: 'OpenMQ',
  host: 'localhost',
  port: 7676,
  user: 'admin',
  pass: 'admin'
};

// 在连接失败的时候会抛出异常
var conn = jms.open(opt);

var sess = conn.createSession();

// 从一个主题名称生成消息创建者, isTopic -- true 创建订阅主题目标
var prod = sess.createProducer('test', isTopic);

// 发送各种消息
prod.send(null);
prod.send('hello jms');
prod.send(new Buffer(10));

// 只能发送简单对象, 不允许深度对象嵌套
prod.send({ a:1, b:2 });

// 从一个主题名称生成消息消费者
var cons = sess.createConsumer('test', {
    name            : 'SubscriptionName',
    messageSelector : string,
    noLocal         : boolean,
    shared          : boolean, 共享的默认 true
    durable         : boolean, 持久化的默认 false
});

// 监听消息, 注意当最后一个 v8 任务结束后, 进程会退出
// type -- Text 返回字符串, Bytes 返回 Buffer, Map 返回对象
//         Object 返回 java 对象, Stream 返回 stream.Readable
cons.onData(function(type, msg) {
  console.log(type, msg);
});

// not_wait - false 等待 timeout 时间同步获取消息
// 如果等待了 timeout 或 not_wait==true 可能返回 null
var msg = cons.receive(timeout, not_wait);

// 开始接受消息
conn.start();

// 关闭连接
conn.close();

JAR 依赖

  • JMS 接口

    • jms.jar
  • GlassFish(tm) Server Message Queue OpenMQ

    • imq.jar
    • imq_l10n.jar
    • imqxm.jar
  • WebLogic Server

    • wlclient.jar
    • wljmsclient.jar
  • Apache ActiveMQ ™

    • activemq-client-5.11.1.jar
    • geronimo-j2ee-management_1.1_spec-1.0.1.jar
    • slf4j-api-1.7.10.jar
  • JBoss HornetQ

    • hornetq-jms-client.jar
    • hornetq-core-client.jar
    • hornetq-commons.jar
    • jnp-client.jar
    • netty.jar
  • IBM WebSphere MQ

    • com.ibm.mq.allclient.jar
    • com.ibm.mq.traceControl.jar
    • fscontext.jar
    • JSON4J.jar
    • providerutil.jar

参考

0.1.10

1 year ago