users@grizzly.java.net

Re: Problem with Bayeux Servlet Client in GlassFish V3

From: Michał Orzechowski <michal.orzechowski_at_oneinfo.pl>
Date: Thu, 04 Dec 2008 15:44:20 +0100

Hi,

    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.

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
>
>