# JBoss 4.0.2 - Probleme mit der Spezifikation



## Enrico (27. Jul 2005)

Ich habe jetzt zu Testzwecken den JBoss 4.0.2 installiert. Ging auch alles ganz gut. Jetzt wollte ich meine Entity Beans alles schon im jar verpackt ins Verzeichnis stellen und bei den Beans die eine Home-Methode (ejbHome<Method>) enthalten, bekomm ich folgende Meldung:

Each Method defined in the entity bean's home interface must be either create or finder method.
Dann wirft er halt ne Deployment Exception und weigert sich das zu deployen.

Auf dem BEA WEBLOGIC läuft das ganze. In der Literatur hab ich auch nirgends gefunden, das Home-Methoden verboten sind.
Kann man das Problem lösen? Bin leider schon am Verzweifeln. :cry:


----------



## Enrico (3. Aug 2005)

Übrigens, der JBoss ist auf dem Betriebssystem SuSE Linux installiert.
Hat irgendjemand eine Idee?


----------



## Bleiglanz (3. Aug 2005)

hasst du die J2EE1.4 RI (den Sun appserver)

dann jags mal durch das deploytool und klick auf verify

oder poste mal was aus der ejb-jar.xml und der Beanklasse, was soll die Methode denn zurückgeben?


----------



## Enrico (4. Aug 2005)

Hallo,

als ich grad Dir meine ejb-jar-Datei reinkopierte ist mir etwas aufgefallen, und da man ja wenn man die Lösung findet reinposten soll, hier des Rätsels Lösung, die ich bestimmt nicht gefunden hätte, wenn Bleiglanz nicht gefragt hätte. 
Also in der Zeile mit dem DOCTYPE stand bei mir die Version 1.1; der BEA Weblogic scheint sich nicht daran zu stören, aber der JBoss. Da es EJBs der zweiten Generation sind, hab ich die Version in 2.0 geändert und es ließ sich deployen. Oben die fehlerhafte Datei und unten die korrigierte. Ich Dank Dir Bleiglanz. 

<?xml version="1.0"?>
<!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></description>
            <ejb-name>KdMass</ejb-name>
            <home>de.business.mass.ejb.KdMassHome</home>
            <remote>de.business.mass.ejb.KdMass</remote>
            <ejb-class>de.business.mass.ejb.KdMassEJB</ejb-class>
            <persistence-type>Bean</persistence-type>
            <prim-key-class>de.business.mass.ejb.KdMassPK</prim-key-class>
            <reentrant>False</reentrant>
        </entity>
    </enterprise-beans>
    <assembly-descriptor>
        <container-transaction>
            <method>
                <ejb-name>KdMass</ejb-name>
                <method-name>*</method-name>
            </method>
            <trans-attribute>Required</trans-attribute>
        </container-transaction>
    </assembly-descriptor>
</ejb-jar>


<?xml version="1.0"?>
<!DOCTYPE ejb-jar PUBLIC '-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN' 'http://java.sun.com/j2ee/dtds/ejb-jar_2_0.dtd'>
<ejb-jar>
    <enterprise-beans>
        <entity>
            <description></description>
            <ejb-name>KdMass</ejb-name>
            <home>de.business.mass.ejb.KdMassHome</home>
            <remote>de.business.mass.ejb.KdMass</remote>
            <ejb-class>de.business.mass.ejb.KdMassEJB</ejb-class>
            <persistence-type>Bean</persistence-type>
            <prim-key-class>de.business.mass.ejb.KdMassPK</prim-key-class>
            <reentrant>False</reentrant>
        </entity>
    </enterprise-beans>
    <assembly-descriptor>
        <container-transaction>
            <method>
                <ejb-name>KdMass</ejb-name>
                <method-name>*</method-name>
            </method>
            <trans-attribute>Required</trans-attribute>
        </container-transaction>
    </assembly-descriptor>
</ejb-jar>


----------

