Announcement

Collapse
No announcement yet.

JBoss: Deployment von JAR-Archiven?

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

  • JBoss: Deployment von JAR-Archiven?

    Hi Leute!
    Habe mit ant aus meinen EJB 3.0 Entity und Session Beans ein JAR-Archiv erstellt,
    und dann auf "jboss-4.0.5/server/default/deploy" gestellt.
    Jedoch zeigt er mir in der JMX-Konsole nichts von meinen Beans an??
    Kann ich JAR-Archive überhaupt deployen oder müssen das WAR oder EAR-Archive sein?
    Denn wenn ich versuch die Bean über meinen Client zu erreichen, bekomm ich folgende Fehler:

    javax.naming.NameNotFoundException: PersonTestBean not bound

    Bitte dringend um eure Hilfe
    mfg
    Zuletzt editiert von harry; 19.03.2007, 14:47.

  • #2
    Der JBoss 4.0.5 hat in der default-Konfiguration kein EJB3 integriert. Also entweder EJB3 extra runterladen und gemäß der Anleitung ins all-Profil von 4.0.5 integrieren oder den Installer benutzen (der macht ein ejb3-Profil) oder gleich den 4.2.0CR1 verwenden, der kann EJB3 von Haus aus.

    Comment


    • #3
      ich hab JBoss mit EJB 3.0 installiert.
      Jedoch bekomm ich jedesmal beim Starten von JBoss
      ziemlich viele Exceptions, bei denen er sagt,
      dass er den ClassLoader für den MySql Driver nicht finden kann oder so??
      Was kann da sein??
      Zuletzt editiert von harry; 19.03.2007, 16:28.

      Comment


      • #4
        Das MySQL-Connector-jar mit dem Treiber muß nach "/server/default/lib".

        Comment


        • #5
          Ok. Danke.
          Aber es funktioniert immer noch nicht ganz.
          Denn in der Konsole bestätigt er mir zwar, dass das JAR-File deploy wurde:

          16:49:45,975 INFO [EJB3Deployer] Deployed: file:/opt/jboss-4.0.5/server/default/deploy/EJB3Test.jar

          Jedoch zeigt er mir in der JMX-Konsole im JNDI View bei den Global JNDI Namespaces nichts von meinen Beans an??
          Und wenn ich versuch die Bean über meinen Client zu erreichen, bekomm ich folgende Fehler:

          javax.naming.NameNotFoundException: PersonTestBean not bound

          Comment


          • #6
            Wenn die Bean-Klasse und das remote/local interface die richtigen Annotations haben (also z.b. @Stateless und @Remote/@Local) dann müsste die Bean im JNDI auftauchen und der lookup müsste mit "BeanKlassenName/remote" bzw. "BeanKlassenName/local" funktionieren. Ist ansonsten schwer zu sagen was schiefgeht.

            Comment


            • #7
              So schaut bei mir der Output der Konsole aus (Eclipse):

              12:30:10,171 INFO [SessionFactoryImpl] closing
              12:30:10,171 INFO [SchemaExport] Running hbm2ddl schema export
              12:30:10,172 INFO [SchemaExport] exporting generated schema to database
              12:30:10,172 INFO [SchemaExport] schema export complete
              12:30:20,250 INFO [Ejb3Deployment] EJB3 deployment time took: 16
              12:30:20,253 INFO [JmxKernelAbstraction] installing MBean: persistence.units:unitName=my_unit with dependencies:
              12:30:20,253 INFO [JmxKernelAbstraction] jboss.jca:name=MySQLDS,service=DataSourceBinding
              12:30:20,270 WARN [Ejb3Configuration] Persistence provider caller does not implements the EJB3 spec correctly. PersistenceUnitInfo.getNewTempClassLoader() is null.
              12:30:20,270 INFO [Configuration] Reading mappings from resource: META-INF/orm.xml
              12:30:20,271 INFO [Ejb3Configuration] [PersistenceUnit: my_unit] no META-INF/orm.xml found
              12:30:20,282 INFO [ConnectionProviderFactory] Initializing connection provider: org.hibernate.ejb.connection.InjectedDataSourceCon nectionProvider
              12:30:20,283 INFO [InjectedDataSourceConnectionProvider] Using provided datasource
              12:30:20,287 INFO [SettingsFactory] RDBMS: MySQL, version: 5.2.3-falcon-alpha
              12:30:20,288 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 $ )
              12:30:20,288 INFO [Dialect] Using dialect: org.hibernate.dialect.MySQLDialect
              12:30:20,289 INFO [TransactionFactoryFactory] Transaction strategy: org.hibernate.ejb.transaction.JoinableCMTTransacti onFactory
              12:30:20,289 INFO [TransactionManagerLookupFactory] instantiating TransactionManagerLookup: org.hibernate.transaction.JBossTransactionManagerL ookup
              12:30:20,289 INFO [TransactionManagerLookupFactory] instantiated TransactionManagerLookup
              12:30:20,289 INFO [SettingsFactory] Automatic flush during beforeCompletion(): disabled
              12:30:20,289 INFO [SettingsFactory] Automatic session close at end of transaction: disabled
              12:30:20,289 INFO [SettingsFactory] JDBC batch size: 15
              12:30:20,289 INFO [SettingsFactory] JDBC batch updates for versioned data: disabled
              12:30:20,289 INFO [SettingsFactory] Scrollable result sets: enabled
              12:30:20,289 INFO [SettingsFactory] JDBC3 getGeneratedKeys(): enabled
              12:30:20,289 INFO [SettingsFactory] Connection release mode: auto
              12:30:20,289 INFO [SettingsFactory] Maximum outer join fetch depth: 2
              12:30:20,289 INFO [SettingsFactory] Default batch fetch size: 1
              12:30:20,289 INFO [SettingsFactory] Generate SQL with comments: disabled
              12:30:20,289 INFO [SettingsFactory] Order SQL updates by primary key: disabled
              12:30:20,289 INFO [SettingsFactory] Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory
              12:30:20,289 INFO [ASTQueryTranslatorFactory] Using ASTQueryTranslatorFactory
              12:30:20,289 INFO [SettingsFactory] Query language substitutions: {}
              12:30:20,289 INFO [SettingsFactory] JPA-QL strict compliance: enabled
              12:30:20,289 INFO [SettingsFactory] Second-level cache: enabled
              12:30:20,289 INFO [SettingsFactory] Query cache: disabled
              12:30:20,290 INFO [SettingsFactory] Cache provider: org.hibernate.cache.HashtableCacheProvider
              12:30:20,290 INFO [SettingsFactory] Optimize cache for minimal puts: disabled
              12:30:20,290 INFO [SettingsFactory] Structured second-level cache entries: disabled
              12:30:20,290 INFO [SettingsFactory] Statistics: disabled
              12:30:20,290 INFO [SettingsFactory] Deleted entity synthetic identifier rollback: disabled
              12:30:20,290 INFO [SettingsFactory] Default entity-mode: pojo
              12:30:20,293 INFO [SessionFactoryImpl] building session factory
              12:30:20,293 INFO [SessionFactoryObjectFactory] Not binding factory to JNDI, no JNDI name configured
              12:30:20,294 INFO [SchemaExport] Running hbm2ddl schema export
              12:30:20,294 INFO [SchemaExport] exporting generated schema to database
              12:30:20,294 INFO [SchemaExport] schema export complete
              12:30:20,295 INFO [NamingHelper] JNDI InitialContext properties:{java.naming.factory.initial=org.jnp.in terfaces.NamingContextFactory, java.naming.factory.url.pkgs=org.jboss.namingrg.jnp.interfaces}
              12:30:20,297 INFO [EJB3Deployer] Deployed: file:/opt/jboss-4.0.5/server/default/deploy/EJB3Test.jar


              Eine Warnung bekomm ich auch immer, weiß aber nicht ob diese relevant ist:

              WARN [Ejb3Configuration] Persistence provider caller does not implements the EJB3 spec correctly. PersistenceUnitInfo.getNewTempClassLoader() is null.

              Was ich auch NICHT habe, dass ist ein XML-File von meiner Entity Klasse in der Form "Klasse-ds.xml" unter
              "jboss/server/default/deploy/". Brauch ich das?


              Hier ist noch der Inhalt von meinem persistence.xml File:

              <persistence>
              <persistence-unit name="FirstTestProject">
              <jta-data-source>java:/MySQLDS</jta-data-source>
              <properties>
              <property name="hibernate.hbm2ddl.auto"
              value="create-drop"/>
              </properties>
              </persistence-unit>
              </persistence>

              Und das ist das build.xml File mit dem ich mit ant mein Projekt deploye:

              <?xml version="1.0" encoding="ISO-8859-1"?>

              <project name="EJB3Test" basedir="." default="deploy">

              <property file="build.properties" />

              <path id="base.path">
              <fileset dir="${project.libs}">
              <include name="**/*.jar" />
              </fileset>
              </path>
              <target name="clean" description="Delete all generated files">
              <delete dir="${classes.dir}" />
              </target>
              <target name="compile" description="Compiles the Task">
              <mkdir dir="${classes.dir}" />
              <javac srcdir="${src.dir}" destdir="${classes.dir}">
              <classpath>
              <path refid="base.path" />
              </classpath>
              </javac>
              </target>
              <target name="deploy" description="JARs the Task" depends="compile">
              <jar destfile="${deploy.dir}/${ant.project.name}.jar">
              <metainf dir="${src.dir}/META-INF" />
              <fileset dir="${classes.dir}">
              <include name="de/**/*.class" />
              </fileset>
              </jar>

              </target>

              <target name="undeploy" description="Undeploy jar from server">
              <delete file="${deploy.dir}/${ant.project.name}.jar" />
              </target>

              </project>

              Und zu guter letzt noch meine Entity Klasse:

              @Entity
              public class Person implements Serializable {

              @Id
              private int pid;

              private String nname;

              private String vname;

              private static final long serialVersionUID = 1L;

              public Person() {
              super();
              }
              ...
              ...
              }


              Was mach ich da noch falsch???
              Bitte dringend um Hilfe. Danke.

              mfg
              Zuletzt editiert von harry; 20.03.2007, 13:31.

              Comment

              Working...
              X