I am getting the following exception trying to deploy a jar containing
three beans, the first one being Guest/GuestBean/GuestHome.

[Container factory] Binding an EJBReference Guest
[Container factory] Binding Guest to internal JNDI source:
org.gaws.guestbook.entitybeans.GuestBean
[Container factory] java.lang.NullPointerException
[Container factory]     at
org.jboss.ejb.Container.setupEnvironment(Container.java:405)
va:405)
[Container factory]     at
org.jboss.ejb.Container.init(Container.java:264)

I am using a MySQL DB for the entity persistence and THINK I have it
setup correctly.  It seems to load the driver and create the Minerva
pool just fine.

Any help would be greatly appreciated.

    Thanks,
        Garret
        [EMAIL PROTECTED]


The ejb-jar.xml is:
------------------------

<?xml version="1.0" encoding="UTF-8"?>
<!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>
            <ejb-name>GuestBean</ejb-name>
            <home>org.gaws.guestbook.entitybeans.GuestHome</home>
            <remote>org.gaws.guestbook.entitybeans.Guest</remote>

<ejb-class>org.gaws.guestbook.entitybeans.GuestBean</ejb-class>
            <persistence-type>Container</persistence-type>
            <prim-key-class>java.lang.Integer</prim-key-class>
      <primkey-field>guestID</primkey-field>
      <reentrant>False</reentrant>
            <resource-ref>
              <description>MySQL Data source</description>
              <res-ref-name>GuestBookDB</res-ref-name>
              <res-type>javax.sql.DataSource</res-type>
              <res-auth>Container</res-auth>
            </resource-ref>
      <cmp-field>
                <field-name>guestID</field-name>
            </cmp-field>

      <cmp-field>
                <field-name>name</field-name>
            </cmp-field>

      <cmp-field>
                <field-name>email</field-name>
            </cmp-field>
 <env-entry>
   <description></description>
   <env-entry-name>java.naming.factory.initial</env-entry-name>
   <env-entry-type>java.lang.String</env-entry-type>

<env-entry-value>org.jnp.interfaces.NamingContextFactory</env-entry-value>

 </env-entry>
 <env-entry>
   <description></description>
   <env-entry-name>java.naming.provider.url</env-entry-name>
   <env-entry-type>java.lang.String</env-entry-type>
   <env-entry-value>localhost:1099</env-entry-value>
 </env-entry>
  </entity>

        <entity>
            <ejb-name>MessageBean</ejb-name>
            <home>org.gaws.guestbook.entitybeans.MessageHome</home>
            <remote>org.gaws.guestbook.entitybeans.Message</remote>

<ejb-class>org.gaws.guestbook.entitybeans.MessageBean</ejb-class>
            <persistence-type>Container</persistence-type>
            <prim-key-class>java.lang.Integer</prim-key-class>
      <primkey-field>messageID</primkey-field>
      <reentrant>False</reentrant>
            <resource-ref>
              <description>MySQL Data source</description>
              <res-ref-name>GuestBookDB</res-ref-name>
              <res-type>javax.sql.DataSource</res-type>
              <res-auth>Container</res-auth>
            </resource-ref>
      <ejb-ref>
          <ejb-ref-name>Guest</ejb-ref-name>
                <ejb-ref-type>Entity</ejb-ref-type>
                <home>org.gaws.guestbook.entitybeans.GuestHome</home>
                <remote>org.gaws.guestbook.entitybeans.Guest</remote>

<ejb-link>org.gaws.guestbook.entitybeans.GuestBean</ejb-link>
            </ejb-ref>

      <ejb-ref>
          <ejb-ref-name>MessageThread</ejb-ref-name>
                <ejb-ref-type>Entity</ejb-ref-type>

<home>org.gaws.guestbook.entitybeans.MessageThreadHome</home>

<remote>org.gaws.guestbook.entitybeans.MessageThread</remote>

<ejb-link>org.gaws.guestbook.entitybeans.MessageThreadBean</ejb-link>
            </ejb-ref>

      <cmp-field>
                <field-name>messageID</field-name>
            </cmp-field>

      <cmp-field>
                <field-name>subject</field-name>
            </cmp-field>

      <cmp-field>
                <field-name>body</field-name>
            </cmp-field>

      <cmp-field>
                <field-name>entryDate</field-name>
            </cmp-field>

      <cmp-field>
                <field-name>messageThreadPK</field-name>
            </cmp-field>

      <cmp-field>
                <field-name>authorPK</field-name>
            </cmp-field>
 <env-entry>
   <description></description>
   <env-entry-name>java.naming.factory.initial</env-entry-name>
   <env-entry-type>java.lang.String</env-entry-type>

<env-entry-value>org.jnp.interfaces.NamingContextFactory</env-entry-value>

 </env-entry>
 <env-entry>
   <description></description>
   <env-entry-name>java.naming.provider.url</env-entry-name>
   <env-entry-type>java.lang.String</env-entry-type>
   <env-entry-value>localhost:1099</env-entry-value>
 </env-entry>
  </entity>

        <entity>
            <ejb-name>MessageThreadBean</ejb-name>

<home>org.gaws.guestbook.entitybeans.MessageThreadHome</home>

<remote>org.gaws.guestbook.entitybeans.MessageThread</remote>

<ejb-class>org.gaws.guestbook.entitybeans.MessageTheadBean</ejb-class>
            <persistence-type>Container</persistence-type>
            <prim-key-class>java.lang.Integer</prim-key-class>
      <primkey-field>messageThreadID</primkey-field>
      <reentrant>False</reentrant>
            <resource-ref>
              <description>MySQL Data source</description>
              <res-ref-name>GuestBookDB</res-ref-name>
              <res-type>javax.sql.DataSource</res-type>
              <res-auth>Container</res-auth>
            </resource-ref>
      <ejb-ref>
          <ejb-ref-name>Message</ejb-ref-name>
                <ejb-ref-type>Entity</ejb-ref-type>
                <home>org.gaws.guestbook.entitybeans.MessageHome</home>
                <remote>org.gaws.guestbook.entitybeans.Message</remote>

<ejb-link>org.gaws.guestbook.entitybeans.MessageBean</ejb-link>
            </ejb-ref>

      <cmp-field>
                <field-name>messageThreadID</field-name>
            </cmp-field>

      <cmp-field>
                <field-name>parentMessagePK</field-name>
            </cmp-field>
 <env-entry>
   <description></description>
   <env-entry-name>java.naming.factory.initial</env-entry-name>
   <env-entry-type>java.lang.String</env-entry-type>

<env-entry-value>org.jnp.interfaces.NamingContextFactory</env-entry-value>

 </env-entry>
 <env-entry>
   <description></description>
   <env-entry-name>java.naming.provider.url</env-entry-name>
   <env-entry-type>java.lang.String</env-entry-type>
   <env-entry-value>localhost:1099</env-entry-value>
 </env-entry>
  </entity>
    </enterprise-beans>
    <assembly-descriptor>
        <container-transaction>
            <method>
                <ejb-name>GuestBean</ejb-name>
                <method-name>*</method-name>
            </method>
            <method>
                <ejb-name>MessageBean</ejb-name>
                <method-name>*</method-name>
            </method>
            <method>
                <ejb-name>MessageThreadBean</ejb-name>
                <method-name>*</method-name>
            </method>
            <trans-attribute>Required</trans-attribute>
        </container-transaction>
    </assembly-descriptor>
</ejb-jar>

-----------------------------
The jboss.xml:
-------------------------------
<?xml version="1.0" encoding="Cp1252"?>

<jboss>

     <resource-managers>
       <resource-manager
res-class="org.jboss.ejb.deployment.JDBCResource">
         <res-name>GuestBookDB</res-name>
         <res-jndi-name>xa.MySQL</res-jndi-name>
       </resource-manager>
     </resource-managers>

     <enterprise-beans>
      <entity>
        <ejb-name>GuestBean</ejb-name>
        <jndi-name>Guest</jndi-name>
      </entity>
      <entity>
        <ejb-name>MessageBean</ejb-name>
        <jndi-name>Message</jndi-name>
      </entity>
      <entity>
        <ejb-name>MessageThreadBean</ejb-name>
        <jndi-name>MessageThread</jndi-name>
      </entity>

      <secure>false</secure>
     </enterprise-beans>

------------------------------
The jaws.xml:
------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<jaws>

    <datasource>xa.MySQL</datasource>
    <type-mapping>mySQL</type-mapping>

    <!-- This section provides optional object-to-relational mapping
descriptions -->

   <enterprise-beans>

    <entity>
        <ejb-name>GuestBean</ejb-name>
        <table-name>GUEST</table-name>
        <create-table>false</create-table>
        <remove-table>false</remove-table>
        <tuned-updates>true</tuned-updates>
        <read-only>false</read-only>
        <time-out>300</time-out>
        <cmp-field>
          <field-name>guestID</field-name>
          <column-name>GUEST_ID</column-name>
          <sql-type>INT</sql-type>
          <jdbc-type>INT</jdbc-type>
        </cmp-field>
        <cmp-field>
          <field-name>name</field-name>
          <column-name>NAME</column-name>
          <sql-type>VARCHAR(60)</sql-type>
          <jdbc-type>VARCHAR</jdbc-type>
        </cmp-field>
        <cmp-field>
          <field-name>email</field-name>
          <column-name>EMAIL</column-name>
          <sql-type>VARCHAR(100)</sql-type>
          <jdbc-type>VARCHAR</jdbc-type>
        </cmp-field>
     </entity>
    <entity>
        <ejb-name>MessageBean</ejb-name>
        <table-name>MESSAGE</table-name>
        <create-table>false</create-table>
        <remove-table>false</remove-table>
        <tuned-updates>true</tuned-updates>
        <read-only>false</read-only>
        <time-out>300</time-out>
        <cmp-field>
          <field-name>messageID</field-name>
          <column-name>MESSAGE_ID</column-name>
          <sql-type>INT</sql-type>
          <jdbc-type>INT</jdbc-type>
        </cmp-field>
        <cmp-field>
          <field-name>subject</field-name>
          <column-name>SUBJECT</column-name>
          <sql-type>VARCHAR(150)</sql-type>
          <jdbc-type>VARCHAR</jdbc-type>
        </cmp-field>
        <cmp-field>
          <field-name>body</field-name>
          <column-name>BODY</column-name>
          <sql-type>TEXT</sql-type>
          <jdbc-type>TEXT</jdbc-type>
        </cmp-field>
        <cmp-field>
          <field-name>entryDate</field-name>
          <column-name>ENTRY_DATE</column-name>
          <sql-type>DATE</sql-type>
          <jdbc-type>DATE</jdbc-type>
        </cmp-field>
        <cmp-field>
          <field-name>guestPK</field-name>
          <column-name>GUEST_ID</column-name>
          <sql-type>INT</sql-type>
          <jdbc-type>INT</jdbc-type>
        </cmp-field>
        <cmp-field>
          <field-name>threadPK</field-name>
          <column-name>THREAD_ID</column-name>
          <sql-type>INT</sql-type>
          <jdbc-type>INT</jdbc-type>
        </cmp-field>
     </entity>
    <entity>
        <ejb-name>MessageThreadBean</ejb-name>
        <table-name>MESSAGETHREAD</table-name>
        <create-table>false</create-table>
        <remove-table>false</remove-table>
        <tuned-updates>true</tuned-updates>
        <read-only>false</read-only>
        <time-out>300</time-out>
        <cmp-field>
          <field-name>messageThreadID</field-name>
          <column-name>MESSAGETHREAD_ID</column-name>
          <sql-type>INT</sql-type>
          <jdbc-type>INT</jdbc-type>
        </cmp-field>
        <cmp-field>
          <field-name>parentMessagePK</field-name>
          <column-name>PARENTMESSAGE_ID</column-name>
          <sql-type>INT</sql-type>
          <jdbc-type>INT</jdbc-type>
        </cmp-field>
     </entity>
   </enterprise-beans>
</jaws>
------------------------------------

Reply via email to