No ClassLoaders found for:
Hej.Jeg er ved at sætte JBOSS op og skal have en forbindelse til min MSSQL database. Jeg har lavet en databaseBean og bruger ant til at compilere min source kode.
Jeg får et problem med classloader'en som påstår at den ikke kan finde klassen. Jeg har været inde manuelt for at se på den og den er der. Kan nogen fortælle mig hvad det er jeg overser??
Jeg kører W2K med j2ee1.4 og jdk1.4.2_3. Jboss version: 3.2.3
FEJLEN:
*****************************************************************
15:53:54,291 INFO [MainDeployer] Starting deployment of package: file:/C:/jboss
-3.2.3/server/default/deploy/ghem3.jar
15:53:54,582 WARN [verifier] EJB spec violation:
Bean : DatabaseHandlerEJB
Section: 22.2
Warning: The Bean Provider must specify the fully-qualified name of the Java cla
ss that implements the enterprise bean's business methods in the <ejb-class> ele
ment.
Info : Class not found on 'com.ghem3.dbhandler.DatabaseHandlerBean': No ClassL
oaders found for: com.ghem3.dbhandler.DatabaseHandlerBean
15:53:54,582 ERROR [MainDeployer] could not create deployment: file:/C:/jboss-3.
2.3/server/default/deploy/ghem3.jar
org.jboss.deployment.DeploymentException: Verification of Enterprise Beans faile
d, see above for error messages.
at org.jboss.ejb.EJBDeployer.create(EJBDeployer.java:491)
at org.jboss.deployment.MainDeployer.create(MainDeployer.java:786)
at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:641)
at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:605)
at sun.reflect.GeneratedMethodAccessor20.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBea
nDispatcher.java:284)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:546)
at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177)
at $Proxy6.deploy(Unknown Source)
at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymen
tScanner.java:302)
at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentS
canner.java:476)
at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.
doScan(AbstractDeploymentScanner.java:201)
at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.
loop(AbstractDeploymentScanner.java:212)
at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.
run(AbstractDeploymentScanner.java:191)
*****************************************************************
MIN ejb-jar FIL:
*****************************************************************
<!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd">
<ejb-jar>
<enterprise-beans>
<session>
<ejb-name>DatabaseHandlerEJB</ejb-name>
<home>ejb.interfaces.com.ghem3.dbhandler.DatabaseHandlerHome</home>
<remote>ejb.interfaces.com.ghem3.dbhandler.DatabaseHandlerRemote</remote>
<ejb-class>com.ghem3.dbhandler.DatabaseHandlerBean</ejb-class>
<session-type>Stateless</session-type>
<transaction-type>Container</transaction-type>
</session>
</enterprise-beans>
<assembly-descriptor>
<security-role>
<description>
This role represents everyone who is allowed full access to the beans.
</description>
<role-name>everyone</role-name>
</security-role>
<method-permission>
<role-name>everyone</role-name>
<method>
<ejb-name>DatabaseHandlerEJB</ejb-name>
<method-name>*</method-name>
</method>
</method-permission>
<container-transaction>
<method>
<ejb-name>DatabaseHandlerEJB</ejb-name>
<method-name>*</method-name>
</method>
<trans-attribute>Required</trans-attribute>
</container-transaction>
</assembly-descriptor>
</ejb-jar>
*****************************************************************
MIN Jboss.xml FIL
*****************************************************************
<?xml version="1.0"?>
<jboss>
<enterprise-beans>
<session>
<ejb-name>DatabaseHandlerEJB</ejb-name>
<jndi-name>DatabaseHandlerRemote</jndi-name>
</session>
</enterprise-beans>
</jboss>
*****************************************************************
MIN BEAN KLASSE:
*****************************************************************
package com.ghem3.dbhandler;
import javax.ejb.SessionBean;
import javax.ejb.EJBException;
import javax.ejb.SessionContext;
import java.util.LinkedList;
import java.util.Map;
import java.util.StringTokenizer;
import java.sql.SQLException;
import java.sql.Connection;
import java.util.*;
import java.sql.*;
import java.sql.Statement;
import java.sql.ResultSet;
import java.rmi.RemoteException;
public class DatabaseHandlerBean implements SessionBean {
private SessionContext context;
private static DatabaseHandlerBean instance;
private static int lockID = -1;
public DatabaseHandlerBean ejbCreate(){}
static {
if (instance == null)
instance = new DatabaseHandlerBean();
}
public static DatabaseHandlerBean getInstance() {
return (instance);
}
/*
* ...
*/
*****************************************************************
MIT HOME INTERFACE:
*****************************************************************
package com.ghem3.dbhandler;
import javax.ejb.EJBHome;
import javax.ejb.CreateException;
import java.rmi.RemoteException;
public interface DatabaseHandlerHome extends EJBHome{
DatabaseHandlerRemote create() throws RemoteException, CreateException;
}
*****************************************************************
MIT REMOTE INTERFACE:
*****************************************************************
package com.ghem3.dbhandler;
import javax.ejb.EJBObject;
import java.sql.SQLException;
import java.util.Map;
public interface DatabaseHandlerRemote extends EJBObject {
public DatabaseHandlerBean getInstance();
public DataSet select(String columns, String from, String criteria, boolean lock, Object requester) throws SQLException, DBLockException;
public int insert(String table, String columns, String values) throws SQLException;
public int delete(String table, String criteria) throws DBLockException;
}
*****************************************************************
Nogen der kan hjælpe??
