Good Day JBoss Users
I have just started using JBoss. I am surrently using on my Windows 2000
machine, using JDK1.3. For production we will be deploying under Red Hat
Linux.
The setup is as follows:
- Using JDK1.3
- Client and server running on the same machine
- jBoss installed in c:\java\jboss
- Oracle jdbc driver class files in c:\java\jboss\lib\ext (renamed
classes111.zip to oracle.jar)
- Verifier is on i.e. jboss.jcml has
<mbean name="EJB:service=ContainerFactory">
<attribute name="VerifyDeployments">true</attribute>
<attribute name="VerifierVerbose">true</attribute>
</mbean>
I have been able to successfully deploy the 'Interest' sample application
from JBoss. I then tried to deploy a Bean Managed Persistent Entity Bean
which uses an Oracle database. I followed the examples given on the JBoss
web site an have done the following:
jboss.conf - Added this
<MLET CODE="org.jboss.jdbc.XADataSourceLoader"
ARCHIVE="jboss.jar,oracle.jar" CODEBASE="../lib/ext/">
<ARG TYPE="java.lang.String"
VALUE="jdbc:oracle:thin:@ccs-ultra.dev.ccsc.com:1521:oracle8i">
<ARG TYPE="java.lang.String" VALUE="UniteItDataSource">
<ARG TYPE="java.lang.String"
VALUE="org.jboss.minerva.xa.XADataSourceImpl">
<ARG TYPE="java.lang.String" VALUE="unideveloper">
<ARG TYPE="java.lang.String" VALUE="devorauni">
</MLET>
ejb-jar.xml
<?xml version="1.0" encoding="Cp1252"?>
<!DOCTYPE ejb-jar PUBLIC '-//Sun Microsystems, Inc.//DTD Enterprise
JavaBeans 1.1//EN' 'http://java.sun.com/j2ee/dtds/ejb-jar_1_1.dtd'>
<ejb-jar>
<enterprise-beans>
<entity>
<description>Internal Account bean to test JBoss</description>
<display-name>InternalAccount Testing again</display-name>
<ejb-name>InternalAccount</ejb-name>
<home>com.uni.account.ejb.InternalAccountHome</home>
<remote>com.uni.account.ejb.InternalAccountRemote</remote>
<ejb-class>com.uni.account.ejb.InternalAccountBean</ejb-class>
<persistence-type>Bean</persistence-type>
<prim-key-class>com.uni.account.ejb.InternalAccountPK</prim-key-class>
<reentrant>False</reentrant>
<resource-ref>
<res-ref-name>jdbc/UniteItDB</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</entity>
</enterprise-beans>
</ejb-jar>
jboss.xml
<?xml version="1.0" encoding="Cp1252"?>
<jboss>
<secure>false</secure>
<container-configurations />
<enterprise-beans>
<entity>
<ejb-name>InternalAccount</ejb-name>
<jndi-name>account/InternalAccount</jndi-name>
<configuration-name></configuration-name>
<resource-ref>
<res-ref-name>jdbc/UniteItDB</res-ref-name>
<resource-name>jdbc/UniteItDB</resource-name>
</resource-ref>
</entity>
</enterprise-beans>
<resource-managers>
<resource-manager res-class="org.jboss.ejb.deployment.JDBCResource">
<res-name>jdbc/UniteItDB</res-name>
<res-jndi-name>UniteItDataSource</res-jndi-name>
</resource-manager>
</resource-managers>
</jboss>
One of the documents related to setting up data sources suggest updating the
jboss.jcml (the other does not), but when the jboss server is started over
writes this file.
My Entity bean is successfully deployed but I get the following exception
when I start JBoss
[Auto deploy] Watching C:\java\jboss\deploy
[Auto deployer] Initializing
[Auto deployer] Initialized
[JMX RMI Adaptor] Initializing
[JMX RMI Adaptor] Initialized
[JMX RMI Connector] Initializing
[JMX RMI Connector] Initialized
[Configuration] Initializing
[Configuration] Initialized
[J2ee deployer] Initializing
[J2ee deployer] no config file found...
[J2ee deployer] Initialized
javax.management.ReflectionException
at
com.sun.management.jmx.MBeanServerImpl.internal_instantiate(MBeanServ
erImpl.java:2207)
at
com.sun.management.jmx.MBeanServerImpl.createMBean(MBeanServerImpl.ja
va:761)
at javax.management.loading.MLet.getMBeansFromURL(MLet.java:540)
at javax.management.loading.MLet.getMBeansFromURL(MLet.java:369)
at org.jboss.Main.<init>(Main.java:123)
at org.jboss.Main.<init>(Main.java:98)
at org.jboss.Main$1.run(Main.java:88)
at java.security.AccessController.doPrivileged(Native Method)
at org.jboss.Main.main(Main.java:79)
[Naming] Starting
[Naming] Started
[Transaction manager] Starting
[Transaction manager] Started
[Hypersonic] Starting
[Hypersonic] Started
When I run my client I get the following output:
Got context
Got reference
javax.ejb.CreateException: javax.naming.NameNotFoundException:
UniteItDataSource
not bound
So I can get a reference to the Home interface of my Entity bean. When I
invoke a create() method, which in turn attempts to get a connection to the
database, I get the exception. I appears the Datasource is never bound in
the JNDI tree by JBoss.
Is this related to the exception I get when JBoss boots - the MBean
exception. If so I'm not sure why JBoss is having problems with MBean and
how to fix it.
Thanks in advance
Andrew
--
--------------------------------------------------------------
To subscribe: [EMAIL PROTECTED]
To unsubscribe: [EMAIL PROTECTED]
Problems?: [EMAIL PROTECTED]