Thank you, Ryan for fixing it quickly!
Thanks.
Regards,
Bongjae Chang
From: Ryan Lubke <ryan.lubke_at_oracle.com>
Reply-To: <dev_at_grizzly.java.net>
Date: Tuesday, December 18, 2012 4:37 PM
To: <dev_at_grizzly.java.net>
Subject: Re: ClassCastException occurred when I set a custom thread pool
with enabling JMX
Patch applied. Thanks!
>
>
>
> Bongjae Chang <mailto:bongjae.chang_at_gmail.com>
>
> December 17, 2012 11:14 PM
>
> Hi,
>
> When I used the HttpServer with enabling JMX and set a custom thread pool, I
> met a ClassCastException.
>
> The exception is below:
> ---
> java.lang.ClassCastException: com.kakao.common.util.KakaoThreadPoolExecutor
> cannot be cast to org.glassfish.grizzly.threadpool.GrizzlyExecutorService
> at
> org.glassfish.grizzly.nio.transport.jmx.NIOTransport.rebuildSubTree(NIOTranspo
> rt.java:258)
> at
> org.glassfish.grizzly.nio.transport.jmx.NIOTransport.onRegister(NIOTransport.j
> ava:127)
> at
> org.glassfish.grizzly.monitoring.jmx.GrizzlyJmxManager.register(GrizzlyJmxMana
> ger.java:103)
> at
> org.glassfish.grizzly.http.server.jmx.NetworkListener.rebuildSubTree(NetworkLi
> stener.java:258)
> at
> org.glassfish.grizzly.http.server.jmx.NetworkListener.onRegister(NetworkListen
> er.java:110)
> at
> org.glassfish.grizzly.monitoring.jmx.GrizzlyJmxManager.register(GrizzlyJmxMana
> ger.java:103)
> at
> org.glassfish.grizzly.http.server.jmx.HttpServer.rebuildSubTree(HttpServer.jav
> a:149)
> at
>
org.glassfish.grizzly.http.server.jmx.HttpServer.onRegister(HttpServer.java:98>
)
> at
> org.glassfish.grizzly.monitoring.jmx.GrizzlyJmxManager.registerAtRoot(GrizzlyJ
> mxManager.java:87)
> at org.glassfish.grizzly.http.server.HttpServer.enableJMX(HttpServer.java:531)
> at org.glassfish.grizzly.http.server.HttpServer.start(HttpServer.java:274)
> at
> com.kakao.api.server.GrizzlyWebServerBean.startWebServer(GrizzlyWebServerBean.
> java:132)
> at
> com.kakao.api.server.GrizzlyWebServerBeanTest.basicTest(GrizzlyWebServerBeanTe
> st.java:50)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.j
> ava:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> ---
>
> If a user set a custom thread pool and JMX is enabled, I think that it is
> better that a user can use other monitorings such as Filters, Listeners and
> Transports except for thread pool.
>
> I attached the proposed patch based on 2.2.x simply.
>
> Thanks!
>
> Regards,
> Bongjae Chang
>