69个发布版本
0.5.1 | 2023年1月27日 |
---|---|
0.4.16 | 2022年10月6日 |
0.4.12 | 2022年7月5日 |
0.4.7 | 2022年3月22日 |
0.1.14 | 2020年11月30日 |
#4 in #destination
每月504次下载
135KB
2.5K SLoC
tibco_ems
Tibco EMS C库的高级API
构建
要构建此crate,TIBCO EMS C库必须在LD_LIBRARY_PATH中,或者可以设置EMS_HOME环境变量。
升级时请查看变更日志。
示例
向队列发送文本消息。
use tibco_ems::Destination;
use tibco_ems::TextMessage;
fn main() {
let url = "tcp://127.0.0.1:7222";
let user="admin";
let password="admin";
let connection = tibco_ems::connect(url,user,password).unwrap();
let session = connection.session().unwrap();
let msg = TextMessage{
body:"hallo welt".to_string(),
..Default::default()
};
let destination = Destination::Queue("myqueue".to_string());
let _ignore = session.send_message(&destination, msg);
}
从队列接收文本消息。
use tibco_ems::Destination;
use tibco_ems::Message;
fn main() {
let url = "tcp://127.0.0.1:7222";
let user="admin";
let password="admin";
let connection = tibco_ems::connect(url,user,password).unwrap();
let session = connection.session().unwrap();
let destination = Destination::Queue("myqueue".to_string());
let consumer = session.queue_consumer(&destination, None).unwrap();
println!("waiting 10 seconds for a message");
let msg_result = consumer.receive_message(Some(10000));
match msg_result {
Ok(result_value) => {
match result_value {
Some(message) => {
match &message {
Message::TextMessage(text_message) =>{
println!("received text message");
println!("content: {}", text_message.body);
},
_ => {
println!("unknown type");
}
}
},
None =>{
println!("no message returned");
},
}
},
Err(status) => {
println!("returned status: {:?}",status);
}
}
}
更多示例可以在示例目录中找到。
许可证
tibco_ems 采用Apache License,版本2.0 (LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)。
TIBCO企业消息服务及其所有相关组件均为TIBCO软件的财产,且不包含在此软件包中。有关详细信息,请参阅您自己的TIBCO许可条款。
依赖项
~0.5–1.7MB
~35K SLoC