Announcement

Collapse
No announcement yet.

EJB 3.0 und JBoss

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • EJB 3.0 und JBoss

    Hi Leute!
    Ich hab eine Frage zu EJB 3.0:
    Wie bekomm ich eine EJB 3.0 Entity in den Container von JBoss???
    Hab die EJB 3.0 mit DALI ORM von Eclipse erzeugt und
    kann die EJB 3.0 Entity bereits als POJO verwenden.
    Bitte dringend um eure Hilfe! Danke.
    mfg

  • #2
    EJB3.0 und JBoss

    Hallo,

    wenn Du bereits Deine Entity-POJOs erzeugt und mit den entpsrechenden
    Annotations versehen hast, brauchst Du eigentlich nur noch einen
    Deployment-Descriptor (ejb-jar.xml im META-INF):

    HTML Code:
    <?xml version="1.0" encoding="UTF-8"?>
    <ejb-jar id="ejb-jar_ID" version="3.0"
    	xmlns="http://java.sun.com/xml/ns/javaee"
    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd">
    	<display-name>meineEJB</display-name>
    </ejb-jar>
    Das ganze anschliessend in eine jar-Datei packen und in Dein JBoss-Deploy-Verzeichnis kopieren (z.B. $JBOSS_HOME/server/default/deploy).

    Wenn Dein JBoss anschliessend nicht rummeckert (server.log) scheint alles ok zu sein und Du kannst Deine EJBs benutzen.

    Hoffe das hilft ein wenig weiter...

    Gruß Georg

    Comment


    • #3
      Danke für deine Antwort.

      Ich hab das jetzt gemacht, aber wenn ich dann im Client
      ein lookup() mache, schreibt er folgendes:

      javax.naming.NameNotFoundException: PersonTestBean not bound


      Normal müsst er ja im Eclipse (wenn der Server dort aktiviert ist)
      wenn ich mein JAR-File deploye schreiben, dass er meine Bean
      zum JNDI gebunden hat, das macht er aber nicht

      Ausgabe:

      ......
      16:29:25,928 INFO [ASTQueryTranslatorFactory] Using ASTQueryTranslatorFactory
      16:29:25,928 INFO [SettingsFactory] Query language substitutions: {}
      16:29:25,929 INFO [SettingsFactory] JPA-QL strict compliance: enabled
      16:29:25,929 INFO [SettingsFactory] Second-level cache: enabled
      properties:{java.naming.factory.initial=org.jnp.in terfaces.NamingContextFactory, java.naming.factory.url.pkgs=org.jboss.namingrg.jnp.interfaces}
      16:29:26,029 INFO [EJB3Deployer] Deployed: file:/opt/jboss-4.0.5/server/default/deploy/EJB3Test.jar
      16:37:33,818 INFO [SessionFactoryImpl] closing
      16:37:33,819 INFO [SchemaExport] Running hbm2ddl schema export
      16:37:33,819 INFO [SchemaExport] exporting generated schema to database
      16:37:33,819 INFO [SchemaExport] schema export complete
      16:37:59,119 INFO [Ejb3Deployment] EJB3 deployment time took: 104
      16:37:59,120 INFO [JmxKernelAbstraction] installing MBean: persistence.units:unitName=my_unit with dependencies:
      16:37:59,120 INFO [JmxKernelAbstraction] jboss.jca:name=MySQLDS,service=DataSourceBinding
      16:37:59,128 WARN [Ejb3Configuration] Persistence provider caller does not implements the EJB3 spec correctly. PersistenceUnitInfo.getNewTempClassLoader() is null.
      16:37:59,128 INFO [Configuration] Reading mappings from resource: META-INF/orm.xml
      16:37:59,129 INFO [Ejb3Configuration] [PersistenceUnit: my_unit] no META-INF/orm.xml found
      16:37:59,133 INFO [ConnectionProviderFactory] Initializing connection provider: org.hibernate.ejb.connection.InjectedDataSourceCon nectionProvider
      16:37:59,133 INFO [InjectedDataSourceConnectionProvider] Using provided datasource
      16:37:59,134 INFO [SettingsFactory] RDBMS: MySQL, version: 5.2.3-falcon-alpha
      16:37:59,134 INFO [SettingsFactory] JDBC driver: MySQL-AB JDBC Driver, version: mysql-connector-java-5.0.4 ( $Date: 2006-10-19 17:47:48 +0200 (Thu, 19 Oct 2006) $, $Revision: 5908 $ )
      16:37:59,134 INFO [Dialect] Using dialect: org.hibernate.dialect.MySQLDialect
      16:37:59,135 INFO [TransactionFactoryFactory] Transaction strategy: org.hibernate.ejb.transaction.JoinableCMTTransacti onFactory
      16:37:59,135 INFO [TransactionManagerLookupFactory] instantiating TransactionManagerLookup: org.hibernate.transaction.JBossTransactionManagerL ookup
      16:37:59,135 INFO [TransactionManagerLookupFactory] instantiated TransactionManagerLookup
      16:37:59,135 INFO [SettingsFactory] Automatic flush during beforeCompletion(): disabled
      16:37:59,135 INFO [SettingsFactory] Automatic session close at end of transaction: disabled
      16:37:59,135 INFO [SettingsFactory] JDBC batch size: 15
      16:37:59,135 INFO [SettingsFactory] JDBC batch updates for versioned data: disabled
      16:37:59,135 INFO [SettingsFactory] Scrollable result sets: enabled
      16:37:59,135 INFO [SettingsFactory] JDBC3 getGeneratedKeys(): enabled
      16:37:59,135 INFO [SettingsFactory] Connection release mode: auto
      16:37:59,135 INFO [SettingsFactory] Maximum outer join fetch depth: 2
      16:37:59,135 INFO [SettingsFactory] Default batch fetch size: 1
      16:37:59,135 INFO [SettingsFactory] Generate SQL with comments: disabled
      16:37:59,135 INFO [SettingsFactory] Order SQL updates by primary key: disabled
      16:37:59,135 INFO [SettingsFactory] Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory
      16:37:59,135 INFO [ASTQueryTranslatorFactory] Using ASTQueryTranslatorFactory
      16:37:59,135 INFO [SettingsFactory] Query language substitutions: {}
      16:37:59,135 INFO [SettingsFactory] JPA-QL strict compliance: enabled
      16:37:59,135 INFO [SettingsFactory] Second-level cache: enabled
      16:37:59,135 INFO [SettingsFactory] Query cache: disabled
      16:37:59,135 INFO [SettingsFactory] Cache provider: org.hibernate.cache.HashtableCacheProvider
      16:37:59,135 INFO [SettingsFactory] Optimize cache for minimal puts: disabled
      16:37:59,135 INFO [SettingsFactory] Structured second-level cache entries: disabled
      16:37:59,135 INFO [SettingsFactory] Statistics: disabled
      16:37:59,136 INFO [SettingsFactory] Deleted entity synthetic identifier rollback: disabled
      16:37:59,136 INFO [SettingsFactory] Default entity-mode: pojo
      16:37:59,139 INFO [SessionFactoryImpl] building session factory
      16:37:59,140 INFO [SessionFactoryObjectFactory] Not binding factory to JNDI, no JNDI name configured
      16:37:59,140 INFO [SchemaExport] Running hbm2ddl schema export
      16:37:59,141 INFO [SchemaExport] exporting generated schema to database
      16:37:59,141 INFO [SchemaExport] schema export complete
      16:37:59,141 INFO [NamingHelper] JNDI InitialContext properties:{java.naming.factory.initial=org.jnp.in terfaces.NamingContextFactory, java.naming.factory.url.pkgs=org.jboss.namingrg.jnp.interfaces}
      16:37:59,185 INFO [EJB3Deployer] Deployed: file:/opt/jboss-4.0.5/server/default/deploy/EJB3Test.jar


      Was kann da noch sein??

      Comment


      • #4
        Hi,

        für EJB 3.0 brauchst du keinen Deployment Descriptor mehr vorausgesetzt du hast alle nötigen Annotations vergeben! Wichtiger in dem Zusammenhang ist die persistence.xml die sich im META-INF Ordner deines Archives befinden sollte, hast du sowas?

        hier ein Beispiel für ne MySQL:

        <?xml version="1.0" encoding="UTF-8"?>
        <persistence>
        <persistence-unit name="MyPersistenceUnit">
        <jta-data-source>java:/MyJTADataSource</jta-data-source>
        <properties>
        <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/>
        <property name="hibernate.hbm2ddl.auto" value="read-write" />
        <property name="hibernate.hbm2ddl.auto" value="update" />
        </properties>
        </persistence-unit>
        </persistence>

        Besten Gruß
        Ariton

        Comment

        Working...
        X