📄 manualackexample.java
字号:
package sms;
import java.io.File;
import java.io.IOException;
import com.objectxp.msg.Cimd2SmsService;
import com.objectxp.msg.ManualAck;
import com.objectxp.msg.Message;
import com.objectxp.msg.MessageEvent;
import com.objectxp.msg.MessageEventListener;
import com.objectxp.msg.MessageException;
import com.objectxp.msg.SmsService;
/**
* This example demonstrates how to use the ManualAck interface.
*/
public class ManualAckExample implements MessageEventListener
{
private SmsService service;
public ManualAckExample(SmsService service)
{
this.service=service;
}
public static void main(String[] args) throws IOException, MessageException
{
if(args.length != 1 ) {
System.err.println("Usage: ManualAckExample <config-file>");
System.exit(1);
}
File configuration = new File(args[0]);
Cimd2SmsService service = new Cimd2SmsService();
ManualAckExample mack = new ManualAckExample(service); // Used as Event Listener
try {
service.init(configuration);
service.addMessageEventListener(mack);
service.enableManualAck();
service.connect();
service.startReceiving();
System.out.print("Hit any key to stop receiving");
System.in.read();
service.stopReceiving();
service.disconnect();
} finally {
service.destroy();
}
}
public void handleMessageEvent(MessageEvent evt)
{
if( evt.getType() == MessageEvent.MESSAGE_RECEIVED ) {
Message msg = evt.getMessage();
// Process the message here
System.out.println("Message received: "+msg);
// Acknowledge message?
if( service instanceof ManualAck ) {
ManualAck m = (ManualAck) service;
if( m.isManualAckEnabled() ) {
try {
m.acknowledge(msg);
} catch (Exception unknown) {
System.err.println("ACK failed.");
unknown.printStackTrace(System.err);
}
}
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -