[
https://issues.apache.org/jira/browse/TAP5-1540?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Toby updated TAP5-1540:
-----------------------
Description:
CometD 2.1 now supports annotations to define CometD services and clients.
In order to be able to use Comet out-of-the-box in Tapestry, the following
annotations need to be "passed-through" to Tapestry:
// defnes a comet service
@Service("chat")
public class ChatService { ... }
// defines comet channels
@Configure ({"/chat/**","/members/**"})
protected void configureChatStarStar(ConfigurableServerChannel channel)
{
DataFilterMessageListener noMarkup =
new DataFilterMessageListener(_bayeux, new NoMarkupFilter(),
new BadWordFilter());
channel.addListener(noMarkup);
channel.addAuthorizer(GrantAuthorizer.GRANT_ALL);
}
// add a listener
@Listener("/service/members")
public void handleMembership(ServerSession client, ServerMessage message)
{
...
}
// client side
@Service
MyClient
{
@Session
private ClientSession session;
@PostConstruct
private void init()
{
...
}
@PreDestroy
private void destroy()
{
...
}
@Listener("/meta/*")
public void handleMetaMessage(Message connect)
{
...
}
@Subscription("/foo")
public void handeFoo(Message message)
{
...
}
}
http://cometdaily.com/2011/04/07/559/
was:
In order to be able to use Comet out-of-the-box in Tapestry, the following
annotations would need to be implemented/integrated:
// defnes a comet service
@Service("chat")
public class ChatService { ... }
// defines comet channels
@Configure ({"/chat/**","/members/**"})
protected void configureChatStarStar(ConfigurableServerChannel channel)
{
DataFilterMessageListener noMarkup =
new DataFilterMessageListener(_bayeux, new NoMarkupFilter(),
new BadWordFilter());
channel.addListener(noMarkup);
channel.addAuthorizer(GrantAuthorizer.GRANT_ALL);
}
// add a listener
@Listener("/service/members")
public void handleMembership(ServerSession client, ServerMessage message)
{
...
}
// client side
@Service
MyClient
{
@Session
private ClientSession session;
@PostConstruct
private void init()
{
...
}
@PreDestroy
private void destroy()
{
...
}
@Listener("/meta/*")
public void handleMetaMessage(Message connect)
{
...
}
@Subscription("/foo")
public void handeFoo(Message message)
{
...
}
}
http://cometdaily.com/2011/04/07/559/
> Comet Integration
> -----------------
>
> Key: TAP5-1540
> URL: https://issues.apache.org/jira/browse/TAP5-1540
> Project: Tapestry 5
> Issue Type: New Feature
> Components: tapestry-core, tapestry-ioc
> Affects Versions: 5.4
> Reporter: Toby
>
> CometD 2.1 now supports annotations to define CometD services and clients.
> In order to be able to use Comet out-of-the-box in Tapestry, the following
> annotations need to be "passed-through" to Tapestry:
> // defnes a comet service
> @Service("chat")
> public class ChatService { ... }
> // defines comet channels
> @Configure ({"/chat/**","/members/**"})
> protected void configureChatStarStar(ConfigurableServerChannel channel)
> {
> DataFilterMessageListener noMarkup =
> new DataFilterMessageListener(_bayeux, new NoMarkupFilter(),
> new BadWordFilter());
> channel.addListener(noMarkup);
> channel.addAuthorizer(GrantAuthorizer.GRANT_ALL);
> }
> // add a listener
> @Listener("/service/members")
> public void handleMembership(ServerSession client, ServerMessage message)
> {
> ...
> }
> // client side
> @Service
> MyClient
> {
> @Session
> private ClientSession session;
> @PostConstruct
> private void init()
> {
> ...
> }
> @PreDestroy
> private void destroy()
> {
> ...
> }
> @Listener("/meta/*")
> public void handleMetaMessage(Message connect)
> {
> ...
> }
> @Subscription("/foo")
> public void handeFoo(Message message)
> {
> ...
> }
> }
> http://cometdaily.com/2011/04/07/559/
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira