我在处理来自客户的订阅请求并根据请求执行一些处理时遇到问题。我希望能够在服务器上收到传入订阅请求时调用一个方法并执行一些处理。我查看了以下 CometD 文档并尝试了“订阅配置支持”中概述的示例,但我运气不佳。
http://www.cometd.org/documentation/2.x/cometd-java/server/services/annotated
我已经使用 Spring Bean 创建了 Bayeux 服务器,并且能够将数据发布到我在服务器端创建的其他通道名称。任何帮助或其他信息。关于这个话题将不胜感激!
我正在使用的代码示例:
@Service("CometDSubscriptionListener")
public class CometDSubscriptionListener {
private final String channel = "/subscription";
private static final Logger logger = Logger.getLogger(CometDSubscriptionListener.class);
private Heartbeat heartbeat;
@Inject
private BayeuxServer bayeuxserver;
@Session
private ServerSession sender;
public CometDSubscriptionListener(BayeuxServer bayeuxserver){
logger.info("CometDSubscriptionListener constructor called");
}
@Subscription(channel)
public void processClientRequest(Message message)
{
logger.info("Received request from client for channel " + channel);
PublishData();
}