点击消息名称,就能查看具体的返回信息字段
1、为用户开通消息服务
public interface MessageHandler {
/**
*消息服务客户端收到消息后,会回调该方法处理具体的业务,处理结果可以通过以下两种方式来表述:
<li>抛出异常或设置status.fail()表明消息处理失败,需要消息服务端重发
<li>不抛出异常,也没有设置status信息,则表明消息处理成功,消息服务端不会再投递此消息
@param message消息内容
@param status处理结果,如果调用status.fail(),消息服务将会择机重发消息;否则,消息服务认为消息处理成功
@throws Exception消息处理失败,消息服务将会择机重发消息
*/
public void onMessage(Messagemessage,MessageStatusstatus)throws Exception;
}
TmcClient client=new TmcClient("app_key","app_secret","default");
client.setMessageHandler(new MessageHandler(){
public void onMessage(Message message,MessageStatus status){
try{
System.out.println(message.getContent());
System.out.println(message.getTopic());
//默认不抛出异常则认为消息处理成功
}catch(Exceptione){
e.printStackTrace();
status.fail();//消息处理失败回滚,服务端需要重发
}
}
});
client.connect();
TaobaoClient client=new DefaultTaobaoClient("http://gw.api.taobao.com/router/rest","app_key","app_secret","json");
do{
longquantity=100L;
TmcMessagesConsumeResponse rsp=null;
do{
TmcMessagesConsumeRequest req=new TmcMessagesConsumeRequest();
req.setQuantity(quantity);
req.setGroupName("default");
rsp=client.execute(req);
if(rsp.isSuccess()&&rsp.getMessages()!=null){
for(TmcMessagemsg:rsp.getMessages()){
//handlemessage
System.out.println(msg.getContent());
System.out.println(msg.getTopic());
//confirmmessage
TmcMessagesConfirmRequest cReq=newTmcMessagesConfirmRequest();
cReq.setGroupName("default");
cReq.setsMessageIds(String.valueOf(msg.getId()));
TmcMessagesConfirmResponse cRsp=client.execute(cReq);
System.out.println(cRsp.getBody());
}
}
System.out.println(rsp.getBody());
}while(rsp!=null&&rsp.isSuccess()&&rsp.getMessages()!=null&&rsp.getMessages().size()==quantity);
Thread.sleep(3000L);
}while(true);
<?
include("tmcmessagesconsumerequest.php");
include("topclient.php");
include("TmcMessagesConfirmRequest.php");
//实例化TopClient类
$c=new TopClient;
$c->appkey="21749834";
$c->secretKey="83d21fd8f1ba9f150c774a568deef058";
$c->gatewayUrl="http://gw.api.taobao.com/router/rest";
$c->format="json";
//实例化具体API对应的Request类
$req=new TmcMessagesConsumeRequest;
$req->setQuantity(10);
$resp=$c->execute($req);
print_r($resp);
for($i=0;$i<count($resp->messages->tmc_message);$i++)
{
$messages_ids.=$resp->messages->tmc_message[$i]->id.",";
}
$messages_ids=substr($messages_ids,0,strlen($messages_ids)-1);
/*
*dosomething
*
**/
echo$messages_ids;
//确认消息
$req2=new TmcMessagesConfirmRequest;
$req2->setSMessageIds($messages_ids);
$resp2=$c->execute($req2);
?>