Forgive me if I double post this. I sent this message originally on
07/24/01 but never saw it in the list. So I'm trying again.
I'm testing out the Turbine 2.1 user system via the TurbineSecurity class
and the LoginUser action but I cannot get my database connection to work.
I'm using the JSQLConnect MSSQL JDBC driver. It's in a .jar file that I've
placed into my WEB-INF/lib directory, also where my core Turbine .jar files
are found. It seems like the DBFactory class can't find the JDBC driver.
This is how my TR file is configured:
database.default.driver=com.jnetdirect.jsql.JSQLDriver
database.default.url=jdbc:JSQLConnect://192.168.1.201/database=jakartadb
database.default.username=xxxxx
database.default.password=xxxxx
....
database.adaptor=DBJSQL
database.adaptor.DBJSQL=com.jnetdirect.jsql.JSQLDriver
And here's the error log. There are two error listed below. The first, the
"ClassNotFoundException" comes from the fact that the DBFactory code tries
to instantiate a class from
"org.apache.turbine.util.db.adapter.<adapterName>", which doesn't exist.
Ok, fine. But then the second error in the log below is a
InstantiationException that comes from trying to register the driver from
the given classname "com.jnetdirect.jsqlJSQLDriver" into the drivers
hashtable. It can't find the driver and I don't know why. Is this a
classpath issue? I thought by merely putting the JSQLConnect.jar file into
WEB-INF/lib I should have no problem.
Any and all help appreciated. Thank you,
Daniel.
turbine.log below:
[Mon Jul 23 18:02:04 EDT 2001] -- ERROR --
Exception: java.lang.ClassNotFoundException: DBJSQL [DBJSQL]
Stack Trace follows:
java.lang.ClassNotFoundException: DBJSQL [DBJSQL]
at
allaire.jrun.servlet.JRunServletLoader.loadClass(../servlet/JRunServletLoade
r.java:430)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at
org.apache.turbine.util.db.adapter.DBFactory.<clinit>(DBFactory.java:109)
at
org.apache.turbine.util.db.pool.ConnectionPool.getDB(ConnectionPool.java:395
)
at
org.apache.turbine.util.db.pool.ConnectionPool.<init>(ConnectionPool.java:26
5)
at
org.apache.turbine.services.db.TurbinePoolBrokerService.registerPool(Turbine
PoolBrokerService.java:300)
at
org.apache.turbine.services.db.TurbinePoolBrokerService.registerPool(Turbine
PoolBrokerService.java:259)
at
org.apache.turbine.services.db.TurbinePoolBrokerService.getPool(TurbinePoolB
rokerService.java:373)
at
org.apache.turbine.services.db.TurbinePoolBrokerService.getConnection(Turbin
ePoolBrokerService.java:171)
at
org.apache.turbine.services.db.TurbineDB.getConnection(TurbineDB.java:194)
at org.apache.turbine.util.db.IDBroker.<init>(IDBroker.java:210)
at
org.apache.turbine.util.db.map.DatabaseMap.setIdTable(DatabaseMap.java:244)
at
org.apache.turbine.util.db.map.DatabaseMap.setIdTable(DatabaseMap.java:256)
at
org.apache.turbine.services.db.TurbineMapBrokerService.setupIdTable(TurbineM
apBrokerService.java:218)
at
org.apache.turbine.services.db.TurbineMapBrokerService.getDatabaseMap(Turbin
eMapBrokerService.java:166)
at
org.apache.turbine.services.db.TurbineMapBrokerService.getDatabaseMap(Turbin
eMapBrokerService.java:130)
at
org.apache.turbine.services.db.TurbineDB.getDatabaseMap(TurbineDB.java:126)
at
org.apache.turbine.util.db.map.TurbineMapBuilder.doBuild(TurbineMapBuilder.j
ava:878)
at org.apache.turbine.om.peer.BasePeer.getMapBuilder(BasePeer.java:1845)
at org.apache.turbine.om.peer.BasePeer.getMapBuilder(BasePeer.java:1800)
at
org.apache.turbine.om.security.peer.TurbineUserPeer.<clinit>(TurbineUserPeer
.java)
at
org.apache.turbine.services.security.db.DBUserManager.retrieve(DBUserManager
.java:158)
at
org.apache.turbine.services.security.db.DBUserManager.retrieve(DBUserManager
.java:246)
at
org.apache.turbine.services.security.BaseSecurityService.getAuthenticatedUse
r(BaseSecurityService.java:313)
at
org.apache.turbine.services.security.TurbineSecurity.getAuthenticatedUser(Tu
rbineSecurity.java:199)
at
org.apache.turbine.modules.actions.LoginUser.doPerform(LoginUser.java:103)
at org.apache.turbine.modules.Action.perform(Action.java:87)
at org.apache.turbine.modules.ActionLoader.exec(ActionLoader.java:122)
at org.apache.turbine.Turbine.doGet(Turbine.java:393)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at allaire.jrun.servlet.JRunSE.service(../servlet/JRunSE.java:1416)
at
allaire.jrun.session.JRunSessionService.service(../session/JRunSessionServic
e.java:1082)
at allaire.jrun.servlet.JRunSE.runServlet(../servlet/JRunSE.java:1270)
at
allaire.jrun.servlet.JRunRequestDispatcher.forward(../servlet/JRunRequestDis
patcher.java:89)
at allaire.jrun.servlet.JRunSE.service(../servlet/JRunSE.java:1552)
at allaire.jrun.servlet.JRunSE.service(../servlet/JRunSE.java:1542)
at allaire.jrun.servlet.JvmContext.dispatch(../servlet/JvmContext.java:364)
at allaire.jrun.http.WebEndpoint.run(../http/WebEndpoint.java:115)
at allaire.jrun.ThreadPool.run(../ThreadPool.java:272)
at allaire.jrun.WorkerThread.run(../WorkerThread.java:75)
[Mon Jul 23 18:02:04 EDT 2001] -- ERROR -- BasePeer.MapBuilder failed trying
to instantiate: org.apache.turbine.util.db.map.TurbineMapBuilder
Exception: org.apache.turbine.util.TurbineException: Database type
com.jnetdirect.jsql.JSQLDriver not implemented.
Stack Trace follows:
java.lang.InstantiationException: Database type
com.jnetdirect.jsql.JSQLDriver not implemented.
at org.apache.turbine.util.db.adapter.DBFactory.create(DBFactory.java:172)
at
org.apache.turbine.services.db.TurbineMapBrokerService.getDatabaseMap(Turbin
eMapBrokerService.java:170)
rethrown as org.apache.turbine.util.TurbineException: Database type
com.jnetdirect.jsql.JSQLDriver not implemented.
at
org.apache.turbine.services.db.TurbineMapBrokerService.getDatabaseMap(Turbin
eMapBrokerService.java:179)
at
org.apache.turbine.services.db.TurbineMapBrokerService.getDatabaseMap(Turbin
eMapBrokerService.java:130)
at
org.apache.turbine.services.db.TurbineDB.getDatabaseMap(TurbineDB.java:126)
at
org.apache.turbine.util.db.map.TurbineMapBuilder.doBuild(TurbineMapBuilder.j
ava:878)
at org.apache.turbine.om.peer.BasePeer.getMapBuilder(BasePeer.java:1845)
at org.apache.turbine.om.peer.BasePeer.getMapBuilder(BasePeer.java:1800)
at
org.apache.turbine.om.security.peer.TurbineUserPeer.<clinit>(TurbineUserPeer
.java)
at
org.apache.turbine.services.security.db.DBUserManager.retrieve(DBUserManager
.java:158)
at
org.apache.turbine.services.security.db.DBUserManager.retrieve(DBUserManager
.java:246)
at
org.apache.turbine.services.security.BaseSecurityService.getAuthenticatedUse
r(BaseSecurityService.java:313)
at
org.apache.turbine.services.security.TurbineSecurity.getAuthenticatedUser(Tu
rbineSecurity.java:199)
at
org.apache.turbine.modules.actions.LoginUser.doPerform(LoginUser.java:103)
at org.apache.turbine.modules.Action.perform(Action.java:87)
at org.apache.turbine.modules.ActionLoader.exec(ActionLoader.java:122)
at org.apache.turbine.Turbine.doGet(Turbine.java:393)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at allaire.jrun.servlet.JRunSE.service(../servlet/JRunSE.java:1416)
at
allaire.jrun.session.JRunSessionService.service(../session/JRunSessionServic
e.java:1082)
at allaire.jrun.servlet.JRunSE.runServlet(../servlet/JRunSE.java:1270)
at
allaire.jrun.servlet.JRunRequestDispatcher.forward(../servlet/JRunRequestDis
patcher.java:89)
at allaire.jrun.servlet.JRunSE.service(../servlet/JRunSE.java:1552)
at allaire.jrun.servlet.JRunSE.service(../servlet/JRunSE.java:1542)
at allaire.jrun.servlet.JvmContext.dispatch(../servlet/JvmContext.java:364)
at allaire.jrun.http.WebEndpoint.run(../http/WebEndpoint.java:115)
at allaire.jrun.ThreadPool.run(../ThreadPool.java:272)
at allaire.jrun.WorkerThread.run(../WorkerThread.java:75)
Finally, here's my LoginUser class:
import org.apache.turbine.util.security.DataBackendException;
import org.apache.turbine.util.security.UnknownEntityException;
import org.apache.turbine.util.security.PasswordMismatchException;
import org.apache.turbine.om.security.User;
public class LoginUser extends VelocityAction {
public void doPerform(RunData data, Context context) throws Exception {
User user; // turbine user
String username = data.getParameters().getString("username", null);
String password = data.getParameters().getString("password", null);
try {
user = TurbineSecurity.getAuthenticatedUser(username, password);
} catch (DataBackendException dbe) {
data.setMessage("User database currently unavailable.");
} catch (UnknownEntityException uee) {
data.setMessage("Unknown account.\n");
} catch (PasswordMismatchException pme) {
data.setMessage("Incorrect password.\n");
}
data.setMessage("Login successful.");
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]