users@glassfish.java.net

hk2 and jkEnabled problem

From: Burak Oguz <burak.oguz_at_gmail.com>
Date: Mon, 2 Mar 2009 15:40:59 +0200

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