Closed glassfishrobot closed 13 years ago
@glassfishrobot Commented jluehe said: Fixed by using CommonClassLoader to load custom valve class:
Sending v3/web/web-glue/src/main/java/com/sun/enterprise/web/VirtualServer.java Sending v3/web/web-glue/src/main/java/com/sun/enterprise/web/WebContainer.java Transmitting file data .. Committed revision 35963.
@glassfishrobot Commented jluehe said: Incremental fix: Make sure StandardPipeline#hasNonBasicValves also considers the presence of Tomcat-style valves
Sending v3/web/web-core/src/main/java/org/apache/catalina/core/StandardPipeline.java Transmitting file data . Committed revision 35981.
Added unit test at https://svn.dev.java.net/svn/glassfish-svn/trunk/v2/appserv-tests/devtests/web/virtualServerWithCustomValves
@glassfishrobot Commented jluehe said: Ported fix to v3.0.1:
Sending web/web-core/src/main/java/org/apache/catalina/core/StandardPipeline.java Sending web/web-glue/src/main/java/com/sun/enterprise/web/VirtualServer.java Sending web/web-glue/src/main/java/com/sun/enterprise/web/WebContainer.java Transmitting file data ... Committed revision 35982.
@glassfishrobot Commented gernot1 said: I'm using Glassfish 3.1 - and it doesn't work - I still get a CNFE! Is the fix included in v3.1?
@glassfishrobot Commented akind said: This bug should be reopened!
I'm using GF3.1 and I'm getting the same CNFE when I configure an errorReportValve:
PWC1344: Couldn't load specified error report valve class: custom.ErrorValve java.lang.ClassNotFoundException: custom.ErrorValve not found by org.glassfish.web.core [163] at org.apache.felix.framework.ModuleImpl.findClassOrResourceByDelegation(ModuleImpl.java:787) at org.apache.felix.framework.ModuleImpl.access$400(ModuleImpl.java:71) at org.apache.felix.framework.ModuleImpl$ModuleClassLoader.loadClass(ModuleImpl.java:1768) at java.lang.ClassLoader.loadClass(ClassLoader.java:247) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:169) ...
@glassfishrobot Commented @amyroh said: Custom vales for virtual server are working as expected. Try putting the jar in glassfish/domains/domain/lib.
See our unit test virtualServerWithCustomValves [1] for example.
@glassfishrobot Commented ss141213 said: Based on user request, I have reopened the bug. See http://forums.java.net/node/796752
@glassfishrobot Commented @shingwaichan said: We have verified that the issue has been fixed. As mentioned by Amy, there is already a test in appserv-tests/devtests/web/virtualServerWithCustomValves, where the valves libraries jar is copied into domains/domain1/lib.
Please check that the libraries is packed correctly.
@glassfishrobot Commented gernot1 said: You say that you cannot reproduce the bug, so I hope you can say what I'm doing wrong, because it does not work for me.
I wrote following demo valve:
package demo; import java.io.IOException; import javax.servlet.ServletException; import org.apache.catalina.connector.Request; import org.apache.catalina.connector.Response; import org.apache.catalina.valves.ValveBase;
public class Valve1 extends ValveBase { @Override public void invoke(Request arg0, Response arg1) throws IOException, ServletException
{ System.out.println("VALVE ****"); }
}
I made a jar which contains the above class and put it in "glassfish/domains/domain1/lib"
I put a context.xml in
started glassfish and got following error: SCHWERWIEGEND: Begin event threw exception java.lang.ClassNotFoundException: demo.Valve1 not found by org.glassfish.web.glue [248] at org.apache.felix.framework.ModuleImpl.findClassOrResourceByDelegation(ModuleImpl.java:787) at org.apache.felix.framework.ModuleImpl.access$400(ModuleImpl.java:71) at org.apache.felix.framework.ModuleImpl$ModuleClassLoader.loadClass(ModuleImpl.java:1768) at java.lang.ClassLoader.loadClass(ClassLoader.java:248) at org.apache.tomcat.util.digester.ObjectCreateRule.begin(ObjectCreateRule.java:246) at org.apache.tomcat.util.digester.Rule.begin(Rule.java:192) at org.apache.tomcat.util.digester.Digester.startElement(Digester.java:1386) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:501) at com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:179) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:1343) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2755) at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:511) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:808) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737) at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205) at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522) at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1671) at org.apache.catalina.startup.ContextConfig.processContextConfig(ContextConfig.java:828) at org.apache.catalina.startup.ContextConfig.contextConfig(ContextConfig.java:769) at org.apache.catalina.startup.ContextConfig.init(ContextConfig.java:1028) at com.sun.enterprise.web.WebModuleContextConfig.lifecycleEvent(WebModuleContextConfig.java:176) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:149) at org.apache.catalina.core.StandardContext.init(StandardContext.java:6477) at org.apache.catalina.core.StandardContext.start(StandardContext.java:5089) at com.sun.enterprise.web.WebModule.start(WebModule.java:500) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:917) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:901) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:755) at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1980) at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1630) at com.sun.enterprise.web.WebApplication.start(WebApplication.java:100) at org.glassfish.internal.data.EngineRef.start(EngineRef.java:130) at org.glassfish.internal.data.ModuleInfo.start(ModuleInfo.java:269) at org.glassfish.internal.data.ApplicationInfo.start(ApplicationInfo.java:286) at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:461) at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:240) at org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:370) at com.sun.enterprise.v3.admin.CommandRunnerImpl$1.execute(CommandRunnerImpl.java:355) at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:370) at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1067) at com.sun.enterprise.v3.admin.CommandRunnerImpl.access$1200(CommandRunnerImpl.java:96) at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1247) at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1235) at com.sun.enterprise.v3.admin.AdminAdapter.doCommand(AdminAdapter.java:465) at com.sun.enterprise.v3.admin.AdminAdapter.service(AdminAdapter.java:222) at com.sun.grizzly.tcp.http11.GrizzlyAdapter.service(GrizzlyAdapter.java:168) at com.sun.enterprise.v3.server.HK2Dispatcher.dispath(HK2Dispatcher.java:117) at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:234) at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:822) at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:719) at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1013) at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:225) at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137) at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104) at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90) at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79) at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54) at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59) at com.sun.grizzly.ContextTask.run(ContextTask.java:71) at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532) at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513) at java.lang.Thread.run(Thread.java:662)
SCHWERWIEGEND: PWC3026: Parse error in default web.xml java.lang.ClassNotFoundException: demo.Valve1 not found by org.glassfish.web.glue [248] at org.apache.tomcat.util.digester.Digester.createSAXException(Digester.java:2812) at org.apache.tomcat.util.digester.Digester.createSAXException(Digester.java:2838) at org.apache.tomcat.util.digester.Digester.startElement(Digester.java:1389) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:501) at com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:179) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:1343) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2755) at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:511) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:808) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737) at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205) at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522) at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1671) at org.apache.catalina.startup.ContextConfig.processContextConfig(ContextConfig.java:828) at org.apache.catalina.startup.ContextConfig.contextConfig(ContextConfig.java:769) at org.apache.catalina.startup.ContextConfig.init(ContextConfig.java:1028) at com.sun.enterprise.web.WebModuleContextConfig.lifecycleEvent(WebModuleContextConfig.java:176) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:149) at org.apache.catalina.core.StandardContext.init(StandardContext.java:6477) at org.apache.catalina.core.StandardContext.start(StandardContext.java:5089) at com.sun.enterprise.web.WebModule.start(WebModule.java:500) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:917) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:901) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:755) at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1980) at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1630) at com.sun.enterprise.web.WebApplication.start(WebApplication.java:100) at org.glassfish.internal.data.EngineRef.start(EngineRef.java:130) at org.glassfish.internal.data.ModuleInfo.start(ModuleInfo.java:269) at org.glassfish.internal.data.ApplicationInfo.start(ApplicationInfo.java:286) at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:461) at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:240) at org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:370) at com.sun.enterprise.v3.admin.CommandRunnerImpl$1.execute(CommandRunnerImpl.java:355) at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:370) at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1067) at com.sun.enterprise.v3.admin.CommandRunnerImpl.access$1200(CommandRunnerImpl.java:96) at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1247) at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1235) at com.sun.enterprise.v3.admin.AdminAdapter.doCommand(AdminAdapter.java:465) at com.sun.enterprise.v3.admin.AdminAdapter.service(AdminAdapter.java:222) at com.sun.grizzly.tcp.http11.GrizzlyAdapter.service(GrizzlyAdapter.java:168) at com.sun.enterprise.v3.server.HK2Dispatcher.dispath(HK2Dispatcher.java:117) at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:234) at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:822) at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:719) at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1013) at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:225) at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137) at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104) at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90) at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79) at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54) at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59) at com.sun.grizzly.ContextTask.run(ContextTask.java:71) at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532) at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513) at java.lang.Thread.run(Thread.java:662) Caused by: java.lang.ClassNotFoundException: demo.Valve1 not found by org.glassfish.web.glue [248] at org.apache.felix.framework.ModuleImpl.findClassOrResourceByDelegation(ModuleImpl.java:787) at org.apache.felix.framework.ModuleImpl.access$400(ModuleImpl.java:71) at org.apache.felix.framework.ModuleImpl$ModuleClassLoader.loadClass(ModuleImpl.java:1768) at java.lang.ClassLoader.loadClass(ClassLoader.java:248) at org.apache.tomcat.util.digester.ObjectCreateRule.begin(ObjectCreateRule.java:246) at org.apache.tomcat.util.digester.Rule.begin(Rule.java:192) at org.apache.tomcat.util.digester.Digester.startElement(Digester.java:1386) ... 57 more
So whats wrong??
I tested the valve (with the same identical jar) in a standalone tomcat 5.5 and there it works perfectly!!
I my eyes this is a bug in Glassfish 3.1, because in a standalone tomcat it works correctly - therefore please fix the bug
@glassfishrobot Commented akind said: Yes Amy you are right, your unittest is working fine for "normal" custom valves (valve_1, valve_2, ...) but not for an "errorReportValve".
So, may someone take a look at that?
@glassfishrobot Commented @amyroh said: gernot1,
Can you try the following instead of using context.xml?
asadmin set server.http-service.virtual-server.server.property.valve_1=demo.Valve1 asadmin restart-domain
@glassfishrobot Commented @amyroh said: akind,
How are you adding an ErrorReportValve? Are you referring to the org.apache.catalina.valves.ErrorReportValve that GlassFish already includes? The following context.xml seems to work for me. What errors are you getting?
@glassfishrobot Commented akind said: I'm adding the valve with the following commands: asadmin set server.http-service.virtual-server.server.property.errorReportValve=custom.ErrorValve asadmin restart-domain
My custom.ErrorValve originally implemented the org.glassfish.web.valve.GlassFishValve interface, but I tried to extend the org.apache.catalina.valves.ErrorReportValve as you mentioned as well. Both implementations with the same CNFE that I posted on 07/Jun/11.
Using the context.xml within a war file is not an option for me, because I have to set the errorReportValve serverwide, not only for one specific war.
@glassfishrobot Commented gernot1 said: amyroh,
when using asadmin set server.http-service.virtual-server.server.property.valve_1=demo.Valve1 it works!
But I'd like to use the context.xml approach, because I'll have different valves for different wars. Is the use of context.xml for configuring valves a "legal" approach? Should it work on Glassfish 3.1? Is there a bug, because it's not working for me?
@glassfishrobot Commented @amyroh said: gernot1,
In order to specify a custom valve for each web application, you can use sun-web.xml or glassfish-web.xml.
For example, the following sun-web.xml defines a TomcatValve for the web applicaiton.
<!DOCTYPE sun-web-app PUBLIC "-//Sun Microsystems, Inc.//DTD GlassFish Application Server 3.0 Servlet 3.0//EN" "http://www.sun.com/software/appserver/dtds/sun-web-app_3_0-0.dtd">
@glassfishrobot Commented @amyroh said: akind,
Can you attach your valve and your domain.xml? ErrorReportValve shouldn't be any different from other custom valves and it should work as expected.
@glassfishrobot Commented akind said: amy,
I' not allowed to attach files to this issue, so I put it here:
Here the Valves (one implements org.glassfish.web.valve.GlassFishValve, and one extends org.apache.catalina.valves.ErrorReportValve), both are working fine as normal valves (valve_1, valve_2), but not as errorReportValve: package custom; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServletResponse; import org.apache.catalina.Request; import org.apache.catalina.Response; import org.glassfish.web.valve.GlassFishValve; public class ErrorValve1 implements GlassFishValve { @Override public String getInfo()
{ return getClass().getName(); } @Override public int invoke(Request request, Response respinse) throws IOException, ServletException { System.out.println("invoke valve: "+ getInfo()); return INVOKE_NEXT; } @Override public void postInvoke(Request request, Response response) throws IOException, ServletException { HttpServletResponse httpResp = (HttpServletResponse) response.getResponse(); System.out.println("postInvoke valve: "+ getInfo()+ " - HttpStatus: "+httpResp.getStatus()); } }
package custom; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServletResponse; import org.apache.catalina.Request; import org.apache.catalina.Response; import org.apache.catalina.valves.ErrorReportValve; public class ErrorValve2 extends ErrorReportValve { @Override public String getInfo() { return getClass().getName(); }
@Override public int invoke(Request request, Response respinse) throws IOException, ServletException
{ System.out.println("invoke valve: "+ getInfo()); return INVOKE_NEXT; }
@Override public void postInvoke(Request request, Response response) throws IOException, ServletException
{ HttpServletResponse httpResp = (HttpServletResponse) response.getResponse(); System.out.println("postInvoke valve: "+ getInfo()+ " - HttpStatus: "+httpResp.getStatus()); }
}
And here is my domain.xml. It's out of the box with two modifications: 1. the valves (valve_1 and errorReportValve) 2. my deployed testApp
<domain log-root="$
{com.sun.aas.instanceRoot}/logs" application-root="${com.sun.aas.instanceRoot}
/applications" version="43">
And finally here is the code of my testServlet: @WebServlet(urlPatterns=
{"/valveServlet"}
) public class ValveServlet extends HttpServlet { private static final long serialVersionUID = 1L; @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { if(req.getParameter("error")==null)
{ resp.getWriter().write("No Error"); }
else
{ resp.getWriter().write("Error"); resp.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); }
} }
@glassfishrobot Commented meikw said: What is the status on this? It's been almost a month since the last comment. Is there a fix? I'm having the same problem as akind.
@glassfishrobot Commented @shingwaichan said: I find out the problem. The normal custom valve is working. It is a different issue from the original issue here. The problem occurs for error report valve only.
The errorReportValve has a different configuration setting as you also mentioned. I have filed a different issue to track custom errorReportValve issue: http://java.net/jira/browse/GLASSFISH-17093
@glassfishrobot Commented szhb69 said: to whom it concerns. As Oracle decided to declare jdk 6 as legacy, I downloaded jdk-7u25-windows-x64 and declared it as default, starting eclipse kepler with it, and assigning jdk1.7.0_25 as JRE System library for all modules. Next I startet the application within eclipse on glassfish 3.1.2. This provoked the following log entry: SEVERE: PWC1344: Couldn't load specified error report valve class: org.apache.catalina.valves.ErrorReportValvejava.lang.NullPointerException at com.sun.enterprise.web.VirtualServer.loadInstance(VirtualServer.java:1253) at org.apache.catalina.core.StandardHost.configureStandardHostValve(StandardHost.java:1370) at org.apache.catalina.core.StandardHost.setPipeline(StandardHost.java:258) at com.sun.enterprise.web.VirtualServer.configureRedirect(VirtualServer.java:1461) at com.sun.enterprise.web.WebContainer.createHost(WebContainer.java:1366) at com.sun.enterprise.web.WebContainer.createHost(WebContainer.java:1190) at com.sun.enterprise.web.WebContainer.createHosts(WebContainer.java:1157) at com.sun.enterprise.web.WebContainer.postConstruct(WebContainer.java:579) at com.sun.hk2.component.AbstractCreatorImpl.inject(AbstractCreatorImpl.java:131) at com.sun.hk2.component.ConstructorCreator.initialize(ConstructorCreator.java:91) at com.sun.hk2.component.AbstractCreatorImpl.get(AbstractCreatorImpl.java:82) at com.sun.hk2.component.SingletonInhabitant.get(SingletonInhabitant.java:67) at com.sun.hk2.component.EventPublishingInhabitant.get(EventPublishingInhabitant.java:139) at com.sun.hk2.component.AbstractInhabitantImpl.get(AbstractInhabitantImpl.java:78) at org.glassfish.internal.data.EngineInfo.getContainer(EngineInfo.java:93) at com.sun.enterprise.v3.services.impl.WebContainerStarter.startWebContainer(WebContainerStarter.java:202) at com.sun.enterprise.v3.services.impl.WebContainerStarter.postConstruct(WebContainerStarter.java:134) at com.sun.hk2.component.AbstractCreatorImpl.inject(AbstractCreatorImpl.java:131) at com.sun.hk2.component.ConstructorCreator.initialize(ConstructorCreator.java:91) at com.sun.hk2.component.AbstractCreatorImpl.get(AbstractCreatorImpl.java:82) at com.sun.hk2.component.SingletonInhabitant.get(SingletonInhabitant.java:67) at com.sun.hk2.component.EventPublishingInhabitant.get(EventPublishingInhabitant.java:139) at com.sun.hk2.component.AbstractInhabitantImpl.get(AbstractInhabitantImpl.java:78) at com.sun.enterprise.v3.server.AppServerStartup.run(AppServerStartup.java:253) at com.sun.enterprise.v3.server.AppServerStartup.doStart(AppServerStartup.java:145) at com.sun.enterprise.v3.server.AppServerStartup.start(AppServerStartup.java:136) at com.sun.enterprise.glassfish.bootstrap.GlassFishImpl.start(GlassFishImpl.java:79) at com.sun.enterprise.glassfish.bootstrap.GlassFishDecorator.start(GlassFishDecorator.java:63) at com.sun.enterprise.glassfish.bootstrap.osgi.OSGiGlassFishImpl.start(OSGiGlassFishImpl.java:69) at com.sun.enterprise.glassfish.bootstrap.GlassFishMain$Launcher.launch(GlassFishMain.java:117) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at com.sun.enterprise.glassfish.bootstrap.GlassFishMain.main(GlassFishMain.java:97) at com.sun.enterprise.glassfish.bootstrap.ASMain.main(ASMain.java:55) I'll not further investigate on it, I just go back to jdk 1.6. Nevertheless I estimate it important to document the case.
@glassfishrobot Commented @shingwaichan said: From https://glassfish.java.net/downloads/3.1.2.2-final.html , you may like to try GlassFish 3.1.2.2.
@glassfishrobot Commented This issue was imported from java.net JIRA GLASSFISH-11674
@glassfishrobot Commented Reported by jluehe
@glassfishrobot Commented Marked as cannot reproduce on Monday, June 13th 2011, 2:47:35 am
See http://forums.java.net/jive/thread.jspa?messageID=391204:
I have a problem trying to configure a custom valve on glassfish v3.
I've coded the class (attached) and generated the jar file (attached).
I put the jar file inside the lib directory (where I put for example jdbc drivers). That's /cc/glassfishv3/glassfish/lib.
I've configured the 'server' virtual server to use the valve. I've done it through the admin console but here's the resulting domain.xml (fragment):