我已经构建了一个实现com.sun.enterprise.util.uuid.UuidGenerator的类,我想用我的类替换GlassFish 2.1.1的默认会话ID生成器。
GlassFish在其GUI中有一个选项,即Configuration-> Web容器 - >管理器属性,并且有一个"会话ID生成器类名称"您声明自定义类以生成会话ID的字段。
问题在于我不知道我需要在哪个文件夹中放入类,以便GlassFish找到它。
我到目前为止所得到的只是日志:
Log Level SEVERE
Logger javax.enterprise.system.container.web
Name-Value Pairs _ThreadID=10;_ThreadName=main;_RequestID=6387aa6c-c226-4f09-bd87-66e10ec24744;
Record Number 411
Message ID Unable to load session uuid generator MyUuidGenerator java.lang.ClassNotFoundException
完成消息
MyUuidGenerator at com.sun.appserv.server.util.ASURLClassLoader.loadClass(ASURLClassLoader.java:129) at java.lang.ClassLoader.loadClass(ClassLoader.java:247) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:169) at com.sun.enterprise.web.MemoryStrategyBuilder.initializePersistenceStrategy(MemoryStrategyBuilder.java:99) at com.sun.enterprise.web.WebContainer.configureSessionManager(WebContainer.java:1945) at com.sun.enterprise.web.WebContainer.configureSessionSettings(WebContainer.java:1878) at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1528) at com.sun.enterprise.web.WebContainer.loadStandaloneWebModule(WebContainer.java:1052) at com.sun.enterprise.web.WebContainer.loadDefaultWebModules(WebContainer.java:1038) at com.sun.enterprise.web.WebContainer.start(WebContainer.java:868) at com.sun.enterprise.web.PEWebContainer.startInstance(PEWebContainer.java:790) at com.sun.enterprise.web.PEWebContainerLifecycle.onStartup(PEWebContainerLifecycle.java:84) at com.sun.enterprise.server.ApplicationServer.onStartup(ApplicationServer.java:442) at com.sun.enterprise.server.ondemand.OnDemandServer.onStartup(OnDemandServer.java:120) at com.sun.enterprise.server.PEMain.run(PEMain.java:411) at com.sun.enterprise.server.PEMain.main(PEMain.java:338) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.sun.enterprise.server.PELaunch.main(PELaunch.java:412)
答案 0 :(得分:0)
该类必须位于GlassFish类路径中,因此您可以输入
$GLASSFISH_HOME/lib/
或
$GLASSFISH_HOME/domains/$YOUR_DOMAIN/lib/classes
答案 1 :(得分:0)
解决了它。需要使用您的会话ID生成类创建.jar
并将.jar
放在类路径中,然后在Configuration > Web Container > Manager Properties > Session ID Generator Class Name
中说明没有前缀的类的名称。