My groovy Code :
import org.cometd.client.BayeuxClient;
import org.cometd.client.transport.ClientTransport;
import org.cometd.client.transport.LongPollingTransport;
import org.eclipse.jetty.client.HttpClient as MyHttpClient
def myurl = "http://192.168.11.170:8080/"
MyHttpClient httpClient = new MyHttpClient()
httpClient.start()
println (httpClient.GET(myurl).getStatus())
BayeuxClient client = new BayeuxClient(myurl, LongPollingTransport.create(null))
client.handshake()
client.waitFor(1000, BayeuxClient.State.CONNECTED)
Here I am trying to make a handshake
. It is just the documentation example code shown here https://docs.cometd.org/current/apidocs/org/cometd/client/BayeuxClient.html. But i am getting error shown below . Don't know What i am doing wrong ?
Output:
200
groovy.lang.MissingMethodException: No signature of method: static org.cometd.client.transport.LongPollingTransport.create() is applicable for argument types: (null) values: [null]
Possible solutions: grep(), terminate(), iterator(), accept(java.lang.String), accept(java.lang.String), print(java.lang.Object)
Javadoc of BayeuxClient
is completely out of sync with LongPollingTransport
class - there is no such method as LongPollingTransport.create(arg)
.
Instead you could try using regular constructor of this class, e.g.
BayeuxClient client = new BayeuxClient(myurl, new LongPollingTransport([:], httpClient))
The first parameters is a map of options (empty in this example) and the second one is an instance of Jetty's HttpClient
you import as MyHttpClient
.