users@grizzly.java.net

Re: Problem with Bayeux Servlet Client in GlassFish V3

From: Oleksiy Stashok <Oleksiy.Stashok_at_Sun.COM>
Date: Thu, 04 Dec 2008 15:01:29 +0100

Hi Michal,

you said you updated grizzly-optionals.jar, but unfortunately it's not
enough. You've to update also grizzly-module.jar, where Grizzly core
is located.

Thanks.

WBR,
Alexey.

On Dec 4, 2008, at 14:50 , Michał Orzechowski wrote:

> Hello,
>
> Thanks, for advice. I'm using Grizzly 1.8.6.2 (default in
> Glassfish v3-predule), where this attribute isn't avaible. I have
> tried to update Glassfish glassfish-optionals.jar with new version
> 1.9.0 of comet, cometd and messages jars using hints from your blog.
> However now I get an exception when application starts:
>
> SEVERE: com.sun.grizzly.arp.AsyncProcessorTask.getThreadPool()Ljava/
> util/concurrent/ExecutorService;
> java.lang.NoSuchMethodError:
> com.sun.grizzly.arp.AsyncProcessorTask.getThreadPool()Ljava/util/
> concurrent/ExecutorService;
> at com.sun.grizzly.comet.CometEngine.handle(CometEngine.java:
> 307)
> at
> com
> .sun.grizzly.comet.CometAsyncFilter.doFilter(CometAsyncFilter.java:84)
> at
> com
> .sun
> .grizzly
> .arp.DefaultAsyncExecutor.invokeFilters(DefaultAsyncExecutor.java:130)
> at
> com
> .sun
> .grizzly
> .arp.DefaultAsyncExecutor.interrupt(DefaultAsyncExecutor.java:109)
> at
> com
> .sun.grizzly.arp.AsyncProcessorTask.doTask(AsyncProcessorTask.java:88)
> at com.sun.grizzly.http.TaskBase.call(TaskBase.java:359)
> at
> com
> .sun.grizzly.util.WorkerThreadImpl.processTask(WorkerThreadImpl.java:
> 325)
> at
> com.sun.grizzly.util.WorkerThreadImpl.run(WorkerThreadImpl.java:184)
> SEVERE: WorkerThreadImpl unexpected exception:
> java.lang.RuntimeException: java.lang.NoSuchMethodError:
> com.sun.grizzly.arp.AsyncProcessorTask.getThreadPool()Ljava/util/
> concurrent/ExecutorService;
> at
> com
> .sun.grizzly.arp.AsyncProcessorTask.doTask(AsyncProcessorTask.java:
> 106)
> at com.sun.grizzly.http.TaskBase.call(TaskBase.java:359)
> at
> com
> .sun.grizzly.util.WorkerThreadImpl.processTask(WorkerThreadImpl.java:
> 325)
> at
> com.sun.grizzly.util.WorkerThreadImpl.run(WorkerThreadImpl.java:184)
> Caused by: java.lang.NoSuchMethodError:
> com.sun.grizzly.arp.AsyncProcessorTask.getThreadPool()Ljava/util/
> concurrent/ExecutorService;
> at com.sun.grizzly.comet.CometEngine.handle(CometEngine.java:
> 307)
> at
> com
> .sun.grizzly.comet.CometAsyncFilter.doFilter(CometAsyncFilter.java:84)
> at
> com
> .sun
> .grizzly
> .arp.DefaultAsyncExecutor.invokeFilters(DefaultAsyncExecutor.java:130)
> at
> com
> .sun
> .grizzly
> .arp.DefaultAsyncExecutor.interrupt(DefaultAsyncExecutor.java:109)
> at
> com
> .sun.grizzly.arp.AsyncProcessorTask.doTask(AsyncProcessorTask.java:88)
> ... 3 more
>
> I'm stuck. Is there any way to update girizzly to verson 1.9.0 in
> Glassfish? If you could help me, I would be very gratefull.
>
> Thanks
> Michal
>
>
>
> Jeanfrancois Arcand pisze:
>> Salut,
>>
>> Michał Orzechowski wrote:
>>> Hello,
>>>
>>> I'm trying to develop simple app that:
>>> 1. Allows clients to subscribe to a channel. The index.html
>>> page is a client's page where new data should be published.
>>> Client logic is implemented using Dojo Toolkit v 1.1.1
>>> (standard subscribe method)
>>>
>>> 2. Publish new data using the servlet. The post.html is a admin
>>> page from witch I send data to the servlet.
>>> Servlet's logic is implemented with Grizzly Comet/Bayeux
>>> (default GlassFish V3 components ...)
>>>
>>> Here is what i do:
>>>
>>> 1. Open client page in browser A
>>> 2. Open client page in browser B (tab 1)
>>> 3. Open admin page in browser B (tab 2)
>>> 4. Send data from admin page to servlet ...
>>> .. and nothing happens .. clients aren't notified until i
>>> open new client page in browser B in tab 3 (or browser A in tab 2
>>> - no matter)!
>>>
>>> It looks like server is holding the data and i really don't know
>>> why. Its really strange and i hope maybe some would be able to
>>> help me?
>>>
>>> Servlet code :
>>>
>>> public class DataServlet extends HttpServlet {
>>>
>>> CometContext context;
>>>
>>> @Override
>>> public void init(ServletConfig config) throws ServletException {
>>> super.init(config);
>>> String contextPath = "/CometApp/cometd";
>>> CometEngine cometEngine = CometEngine.getEngine();
>>> context = cometEngine.register(contextPath);
>>> context.setExpirationDelay(60 * 1000);
>>> }
>>>
>>> protected void processRequest(HttpServletRequest request,
>>> HttpServletResponse response)
>>> throws ServletException, IOException {
>>> String channel = "/my/demo";
>>> String messageDataName = "text";
>>> String messageDataValue = request.getParameter("newinfo");
>>>
>>> if (messageDataValue != null) {
>>> Map<String, Object> map = new HashMap<String, Object>();
>>> map.put(messageDataName,
>>> dummyBussinesLogic(messageDataValue));
>>> Data data = new Data();
>>> data.setMapData(map);
>>>
>>> DeliverResponse deliverResponse = new DeliverResponse();
>>> deliverResponse.setChannel(channel);
>>> deliverResponse.setData(data);
>>> deliverResponse.setLast(true);
>>> deliverResponse.setFollow(true);
>>
>> Just add:
>>
>> deliverResponse.setFinished(true);
>>
>> and I suspect it will works.
>>
>> Thanks
>>
>> -- Jeanfrancois
>>
>>
>>>
>>> context.notify(deliverResponse);
>>>
>>> out.println("Data is sent.");
>>> } else {
>>> out.println("No data is sent.");
>>> }
>>>
>>> response.sendRedirect("post.html");
>>> }
>>>
>>> @Override
>>> protected void doGet(HttpServletRequest request,
>>> HttpServletResponse response)
>>> throws ServletException, IOException {
>>> processRequest(request, response);
>>> }
>>>
>>> @Override
>>> protected void doPost(HttpServletRequest request,
>>> HttpServletResponse response)
>>> throws ServletException, IOException {
>>> processRequest(request, response);
>>> }
>>>
>>> private String dummyBussinesLogic(String s) {
>>> return s.toUpperCase();
>>> }
>>> }
>>>
>>> Thanks
>>> Michal Orzechowski
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe_at_grizzly.dev.java.net
>>> For additional commands, e-mail: users-help_at_grizzly.dev.java.net
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe_at_grizzly.dev.java.net
>> For additional commands, e-mail: users-help_at_grizzly.dev.java.net
>>
>>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe_at_grizzly.dev.java.net
> For additional commands, e-mail: users-help_at_grizzly.dev.java.net
>