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 16:09:27 +0100

>
> Could you list the jar's that are needed to update grizzly-module?
> I have updated grizzly-module with: grizzly-framework, grizzly-http
> and grizzly-http-utils (1.9.0), however then Glassfish do not start.
I see...
Seems like it will not work :( Glassfish core classes rely on old
Grizzly thread pool API.
The only solution I see, is to release next Grizzly 1.8.6.x, where we
can integrate latest Comet related modules. Jeanfrancois is traveling
to Europe now, may be Shing Wai, do you know if it's possible to
integrate latest Comet changes to Grizzly 1.8.6.x branch?

Thanks.

WBR,
Alexey.

>
>
> Thanks
> Michal
>
> Oleksiy Stashok pisze:
>> 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
>>>
>>
>>
>> ---------------------------------------------------------------------
>> 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
>