It's a known problem. One of the web container engineer (Amy to be
precise) is working on this. Expected to be resolved in next build.
Burak Oguz wrote:
> Hi all,
>
> We have a jkEnabled problem on Glassfish v3 b38. In GFv3b28 our AJP
> listener was working but we needed ejb-timer annotations and so we
> migrated to b38. After migration ajp listener stop working and now it
> gives a ClassNotFound exception but JkCoyoteHandler class is under
> web-ajp.jar. I think the reason is the integration of hk2 kernel. What
> can we do about this? Thanks in advance
>
> [#|2009-03-02T12:05:51.828+0200|SEVERE|glassfish|javax.enterprise.system.container.web|_ThreadID=12;_ThreadName=Thread-1;|Unable
> to start web container
> LifecycleException: PWC3986: Protocol handler instantiation failed:
> java.lang.ClassNotFoundException: org.apache.jk.server.JkCoyoteHandler
> at
> org.apache.catalina.connector.Connector.initialize(Connector.java:1613)
> at
> com.sun.enterprise.web.connector.coyote.PECoyoteConnector.initialize(PECoyoteConnector.java:781)
> at
> com.sun.enterprise.web.WebConnector.initialize(WebConnector.java:58)
> at org.apache.catalina.startup.Embedded.start(Embedded.java:937)
> at
> com.sun.enterprise.web.WebContainer.postConstruct(WebContainer.java:598)
> at
> com.sun.hk2.component.AbstractWombImpl.inject(AbstractWombImpl.java:160)
> at
> com.sun.hk2.component.ConstructorWomb$1.run(ConstructorWomb.java:90)
> at java.security.AccessController.doPrivileged(Native Method)
> at
> com.sun.hk2.component.ConstructorWomb.initialize(ConstructorWomb.java:87)
> at
> com.sun.hk2.component.AbstractWombImpl.get(AbstractWombImpl.java:77)
> at
> com.sun.hk2.component.SingletonInhabitant.get(SingletonInhabitant.java:58)
> at
> com.sun.hk2.component.LazyInhabitant.get(LazyInhabitant.java:107)
> at
> com.sun.hk2.component.AbstractInhabitantImpl.get(AbstractInhabitantImpl.java:60)
> at
> org.glassfish.internal.data.EngineInfo.getContainer(EngineInfo.java:78)
> at
> com.sun.enterprise.v3.server.ApplicationLifecycle.startContainers(ApplicationLifecycle.java:586)
> at
> com.sun.enterprise.v3.server.ApplicationLifecycle.setupContainerInfos(ApplicationLifecycle.java:394)
> at
> com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:219)
> at
> com.sun.enterprise.v3.server.ApplicationLoaderService.processApplication(ApplicationLoaderService.java:283)
> at
> com.sun.enterprise.v3.server.ApplicationLoaderService.postConstruct(ApplicationLoaderService.java:130)
> at
> com.sun.hk2.component.AbstractWombImpl.inject(AbstractWombImpl.java:160)
> at
> com.sun.hk2.component.ConstructorWomb$1.run(ConstructorWomb.java:90)
> at java.security.AccessController.doPrivileged(Native Method)
> at
> com.sun.hk2.component.ConstructorWomb.initialize(ConstructorWomb.java:87)
> at
> com.sun.hk2.component.AbstractWombImpl.get(AbstractWombImpl.java:77)
> at
> com.sun.hk2.component.SingletonInhabitant.get(SingletonInhabitant.java:58)
> at
> com.sun.hk2.component.LazyInhabitant.get(LazyInhabitant.java:107)
> at
> com.sun.hk2.component.AbstractInhabitantImpl.get(AbstractInhabitantImpl.java:60)
> at
> com.sun.enterprise.v3.server.AppServerStartup.run(AppServerStartup.java:206)
> at
> com.sun.enterprise.v3.server.AppServerStartup$1.run(AppServerStartup.java:123)
> |#]
>
>
> My configuration is :
>
> <http-listener id="jk-connector" port="8009" address="0.0.0.0"
> default-virtual-server="server" server-name="">
> <property name="jkEnabled" value="true" />
> </http-listener>
>
> <virtual-server id="server"
> http-listeners="http-listener-1,http-listener-2,jk-connector">
> <property name="docroot"
> value="${com.sun.aas.instanceRoot}/docroot" />
> <property name="accesslog"
> value="${com.sun.aas.instanceRoot}/logs/access" />
> <property name="sso-enabled" value="false" />
> </virtual-server>
>
>
> -- Burak