I've upgraded to 2.3 with the newapp application. The login screen displays but the
user cannot be validated. I changed the LoginUser action to display all exceptions
and found that I always get this exception:
150336 [HttpProcessor[8080][3]] ERROR actions.LoginUser -
org.apache.turbine.services.InstantiationException: ServiceBroker: unknown service
CryptoService requested
org.apache.turbine.services.InstantiationException: ServiceBroker: unknown service
CryptoService requested
at
org.apache.turbine.services.BaseServiceBroker.getServiceInstance(BaseServiceBroker.java:542)
at
org.apache.turbine.services.BaseServiceBroker.getService(BaseServiceBroker.java:484)
at
org.apache.turbine.services.crypto.TurbineCrypto.getService(TurbineCrypto.java:84)
at
org.apache.turbine.services.security.BaseSecurityService.encryptPassword(BaseSecurityService.java:197)
at
org.apache.turbine.services.security.BaseSecurityService.checkPassword(BaseSecurityService.java:236)
at
org.apache.turbine.services.security.TurbineSecurity.checkPassword(TurbineSecurity.java:155)
at
org.apache.turbine.services.security.db.DBUserManager.authenticate(DBUserManager.java:418)
at
org.apache.turbine.services.security.db.DBUserManager.retrieve(DBUserManager.java:294)
at
org.apache.turbine.services.security.BaseSecurityService.getAuthenticatedUser(BaseSecurityService.java:729)
at
org.apache.turbine.services.security.TurbineSecurity.getAuthenticatedUser(TurbineSecurity.java:301)
at org.apache.turbine.modules.actions.LoginUser.doPerform(LoginUser.java:121)
...
To get to this point:
1. Created newapp under 2.2.
2. Followed 2.2 -> 2.3 howto.
3. Change log file references to be ../logs/turbine.log etc in log4j.properties
4. Use torque-3.1.jar, commons-dbcp-20030825.184428.jar
5. More current versions of some other commons jars but the two above seemed
significant.
Another symptom is that every other time I start tomcat I get the following error when
trying to run newapp. Stopping and restarting tomcat resolves the issue.
Horrible Exception: java.lang.NoClassDefFoundError
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:140)
at
org.apache.turbine.services.security.SecurityService$1.class$(SecurityService.java:117)
at
org.apache.turbine.services.security.SecurityService.<clinit>(SecurityService.java:116)
at
org.apache.turbine.services.security.BaseSecurityService.init(BaseSecurityService.java:253)
at
org.apache.turbine.services.BaseServiceBroker.getService(BaseServiceBroker.java:492)
at
org.apache.turbine.services.security.TurbineSecurity.getService(TurbineSecurity.java:104)
at
org.apache.turbine.services.security.TurbineSecurity.getAnonymousUser(TurbineSecurity.java:371)
at
org.apache.turbine.modules.actions.sessionvalidator.TemplateSessionValidator.doPerform(TemplateSessionValidator.java:115)
...