Ciezkie poczatki z ejb :/ - potrzebna drobna pomoc

0

Czesc mam maly problem z deploymentem prostej przykladowej aplikacji na serwer JBoss. Sa to moje poczatki z EJB i jak ze wszystkim na poczatku i z tym jest troche problemow. Jest to przyklad z ksiazki Enterprise JavaBeans. Robie wszystko tak jak jest napisane:

export JBOSS_HOME=sciezka do jboss'a
export PATH=sciezka do ant'a:$PATH
a nastepnie wpisuje polecenie: ant i dostaje :

Buildfile: build.xml

BUILD FAILED
/home/karson/ejb3/ex04_1/build.xml:35: /home/karson/jboss-5.1.0.GA/server/default/deploy/jboss-aop-jdk50.deployer not found.

PS. podejrzewam ze to jakis blachy problem, ale troche mnie blokuje i mam prosbe aby ktos mnie naprowadzil. Wrzucam jeszcze build.xml bo pewnei gtam trzeba bedzie cos zmienic :-)


<project name="JBoss" default="ejbjar" basedir=".">
<property environment="env"/>
<property name="src.dir" value="${basedir}/src/main"/>
<property name="src.resources" value="${basedir}/src/resources"/>
<property name="jboss.home" value="${env.JBOSS_HOME}"/>
<property name="build.dir" value="${basedir}/build"/>
<property name="build.classes.dir" value="${build.dir}/classes"/>
<!-- Build classpath -->
−
<path id="classpath">
−
<fileset dir="${jboss.home}/server/default/lib">
<include name="*.jar"/>
</fileset>
−
<fileset dir="${jboss.home}/server/default/deploy/ejb3.deployer">
<include name="*.jar"/>
</fileset>
−
<fileset dir="${jboss.home}/server/default/deploy/jboss-aop-jdk50.deployer">
<include name="*.jar"/>
</fileset>
−
<fileset dir="${jboss.home}/lib">
<include name="*.jar"/>
</fileset>
<pathelement location="${build.classes.dir}"/>
−

<pathelement location="${basedir}/client-config"/>
</path>
<property name="build.classpath" refid="classpath"/>
−
−
<target name="prepare">
<mkdir dir="${build.dir}"/>
<mkdir dir="${build.classes.dir}"/>
</target>
−
−
<target name="compile" depends="prepare">
−
<javac srcdir="${src.dir}" destdir="${build.classes.dir}" debug="on" deprecation="on" optimize="off" includes="**">
<classpath refid="classpath"/>
</javac>
</target>
−
<target name="ejbjar" depends="compile">
−
<jar jarfile="build/titan.jar">
−
<fileset dir="${build.classes.dir}">
<include name="com/titan/domain/*.class"/>
<include name="com/titan/travelagent/*.class"/>
</fileset>
−
<fileset dir="${src.resources}/">
<include name="META-INF/persistence.xml"/>
</fileset>
</jar>
<copy file="build/titan.jar" todir="${jboss.home}/server/default/deploy"/>
</target>
−
<target name="run.client" depends="ejbjar">
−
<java classname="com.titan.clients.Client" fork="yes" dir=".">
<classpath refid="classpath"/>
</java>
</target>
−
−
<target name="clean.db">
<delete dir="${jboss.home}/server/default/data/hypersonic"/>
</target>
−
<target name="clean">
<delete dir="${build.dir}"/>
<delete file="${jboss.home}/server/default/deploy/titan.jar"/>
</target>
</project>

Z gory dziekuje.

Ok torche sie pospieszylem z tym postem, bo dalem rade dotrzec o co chdzilo z powyzszym bledem, ale mam kolejny problem:

compile:
    [javac] Compiling 4 source files to /home/karson/ejb3/ex04_1/build/classes
    [javac] /home/karson/ejb3/ex04_1/src/main/com/titan/domain/Cabin.java:3: package javax.persistence does not exist
    [javac] import javax.persistence.Entity;
    [javac]                         ^
    [javac] /home/karson/ejb3/ex04_1/src/main/com/titan/domain/Cabin.java:4: package javax.persistence does not exist
    [javac] import javax.persistence.Table;
    [javac]                         ^
    [javac] /home/karson/ejb3/ex04_1/src/main/com/titan/domain/Cabin.java:5: package javax.persistence does not exist
    [javac] import javax.persistence.Column;
    [javac]                         ^
    [javac] /home/karson/ejb3/ex04_1/src/main/com/titan/domain/Cabin.java:6: package javax.persistence does not exist
    [javac] import javax.persistence.Id;
    [javac]                         ^
    [javac] /home/karson/ejb3/ex04_1/src/main/com/titan/domain/Cabin.java:8: cannot find symbol
    [javac] symbol: class Entity
    [javac] @Entity
    [javac]  ^
    [javac] /home/karson/ejb3/ex04_1/src/main/com/titan/domain/Cabin.java:9: cannot find symbol
    [javac] symbol: class Table
    [javac] @Table(name="CABIN")
    [javac]  ^
    [javac] /home/karson/ejb3/ex04_1/src/main/com/titan/travelagent/TravelAgentBean.java:3: package javax.ejb does not exist
    [javac] import javax.ejb.Stateless;
    [javac]                 ^
    [javac] /home/karson/ejb3/ex04_1/src/main/com/titan/travelagent/TravelAgentBean.java:4: package javax.persistence does not exist
    [javac] import javax.persistence.EntityManager;
    [javac]                         ^
    [javac] /home/karson/ejb3/ex04_1/src/main/com/titan/travelagent/TravelAgentBean.java:5: package javax.persistence does not exist
    [javac] import javax.persistence.PersistenceContext;
    [javac]                         ^
    [javac] /home/karson/ejb3/ex04_1/src/main/com/titan/travelagent/TravelAgentRemote.java:3: package javax.ejb does not exist
    [javac] import javax.ejb.Remote;
    [javac]                 ^
    [javac] /home/karson/ejb3/ex04_1/src/main/com/titan/travelagent/TravelAgentRemote.java:7: cannot find symbol
    [javac] symbol: class Remote
    [javac] @Remote
    [javac]  ^

0

Jeszcze pakietu z JavaEE API potrzebujesz. Swoja drogą użyj Mavena albo Ivy jak już musisz z Antem, ułatwi ci życie.
Sygnaturki Mavena:

<groupId>javaee</groupId>
<artifactId>javaee-api</artifactId>
<version>5</version>

<groupId>javax.persistence</groupId>
<artifactId>persistence-api</artifactId>
<version>1.0</version>
0

Koziołek dzieki za rade :) Odnosnie pakietu API JEE to niebardzo wiem o co chodzi bo jesli uzyje tych pakietow w Netbeansie to jest wszystko oki :|

0

bo w NB one są domyślnie podpinane do projektu JEE (za pomocą classpath). Jeżeli wychodzisz poza środowisko NB to uzyskujesz całkowicie inna konfigurację domyślną środowiska.

0

Koziłek a w ktorym miejscu szukac plikow z pakietami : javax.persistance i javax.ejb bo rozumiem ze jak wrzuce je to katalogu /jdk/lib to nie bede musial dodatkowo nic ustawiac bo kompilator je wykryje [???]

0

nie do lib tylko do endorsed (to wynika z właściwości classloadera) pliki jar:
http://repository.jboss.com/maven2/javax/ejb/ejb-api/3.0/
http://repository.jboss.com/maven2/javax/persistence/persistence-api/1.0/

0

Dzieki :) juz jest prawie dobrze. Wszystko sie kompiluje , ale jest inny problem [glowa] chyba nie mozna odnalezc bean'a w JNDI i dostaje wyjatek :/

Context jndiContext = getInitialContext();

            Object ref = jndiContext.lookup("TravelAgentBean/remote");
 /* tu probowalem na poczatku dorzucic java: ale bez skutku*/
            TravelAgentRemote dao = (TravelAgentRemote)

            PortableRemoteObject.narrow(ref,TravelAgentRemote.class);


wyjatek:

run.client:
     [java] javax.naming.NameNotFoundException: TravelAgentBean not bound
     [java] 	at org.jnp.server.NamingServer.getBinding(NamingServer.java:771)
     [java] 	at org.jnp.server.NamingServer.getBinding(NamingServer.java:779)
     [java] 	at org.jnp.server.NamingServer.getObject(NamingServer.java:785)
     [java] 	at org.jnp.server.NamingServer.lookup(NamingServer.java:396)
     [java] 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
     [java] 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
     [java] 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
     [java] 	at java.lang.reflect.Method.invoke(Method.java:597)
     [java] 	at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:305)
     [java] 	at sun.rmi.transport.Transport$1.run(Transport.java:159)
     [java] 	at java.security.AccessController.doPrivileged(Native Method)
     [java] 	at sun.rmi.transport.Transport.serviceCall(Transport.java:155)
     [java] 	at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535)
     [java] 	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790)
     [java] 	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)
     [java] 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
     [java] 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
     [java] 	at java.lang.Thread.run(Thread.java:619)
     [java] 	at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:255)
     [java] 	at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:233)
     [java] 	at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:142)
     [java] 	at org.jnp.server.NamingServer_Stub.lookup(Unknown Source)
     [java] 	at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:628)
     [java] 	at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:590)
     [java] 	at javax.naming.InitialContext.lookup(InitialContext.java:392)
     [java] 	at com.titan.clients.Client.main(Client.java:21)

BUILD SUCCESSFUL
Total time: 1 second

0

Karson, widzę, ze korzystasz z tej samej książki co ja :D
A Jboss nie zwraca czasem ,że MBean jest zle zdeployowany?

Na konsoli JBossa powinny lecieć jakieś errory, albo wyjątki też.
Jak tak, to podeślij je tutaj.

Pozdro.

0

Black wklejam logi JBossa od momentu startu az po deployment... ant kopiuje plik titan.jar do odpowiedniego katalogu ../server/default/deploy i w tym momencie leca w logach wyjatki :/

Jesli wiesz jak to uruchomic to ogromna prosba o pomoc, bo siedze juz drugi dzien i niemoge ruszyc dalej z materialem..Dzieki

karson@karson-pc:~/jboss-5.0.0.GA/bin$ ./run.sh
=========================================================================

  JBoss Bootstrap Environment

  JBOSS_HOME: /home/karson/jboss-5.0.0.GA

  JAVA: java

  JAVA_OPTS: -Dprogram.name=run.sh -server -Xms128m -Xmx512m -XX:MaxPermSize=256m -Dorg.jboss.resolver.warning=true -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Djava.net.preferIPv4Stack=true

  CLASSPATH: /home/karson/jboss-5.0.0.GA/bin/run.jar

=========================================================================

09:42:05,803 INFO  [ServerImpl] Starting JBoss (Microcontainer)...
09:42:05,804 INFO  [ServerImpl] Release ID: JBoss [Morpheus] 5.0.0.GA (build: SVNTag=JBoss_5_0_0_GA date=200812042120)
09:42:05,805 INFO  [ServerImpl] Bootstrap URL: null
09:42:05,805 INFO  [ServerImpl] Home Dir: /home/karson/jboss-5.0.0.GA
09:42:05,805 INFO  [ServerImpl] Home URL: file:/home/karson/jboss-5.0.0.GA/
09:42:05,805 INFO  [ServerImpl] Library URL: file:/home/karson/jboss-5.0.0.GA/lib/
09:42:05,806 INFO  [ServerImpl] Patch URL: null
09:42:05,806 INFO  [ServerImpl] Common Base URL: file:/home/karson/jboss-5.0.0.GA/common/
09:42:05,806 INFO  [ServerImpl] Common Library URL: file:/home/karson/jboss-5.0.0.GA/common/lib/
09:42:05,806 INFO  [ServerImpl] Server Name: default
09:42:05,806 INFO  [ServerImpl] Server Base Dir: /home/karson/jboss-5.0.0.GA/server
09:42:05,806 INFO  [ServerImpl] Server Base URL: file:/home/karson/jboss-5.0.0.GA/server/
09:42:05,806 INFO  [ServerImpl] Server Config URL: file:/home/karson/jboss-5.0.0.GA/server/default/conf/
09:42:05,806 INFO  [ServerImpl] Server Home Dir: /home/karson/jboss-5.0.0.GA/server/default
09:42:05,806 INFO  [ServerImpl] Server Home URL: file:/home/karson/jboss-5.0.0.GA/server/default/
09:42:05,807 INFO  [ServerImpl] Server Data Dir: /home/karson/jboss-5.0.0.GA/server/default/data
09:42:05,807 INFO  [ServerImpl] Server Library URL: file:/home/karson/jboss-5.0.0.GA/server/default/lib/
09:42:05,807 INFO  [ServerImpl] Server Log Dir: /home/karson/jboss-5.0.0.GA/server/default/log
09:42:05,807 INFO  [ServerImpl] Server Native Dir: /home/karson/jboss-5.0.0.GA/server/default/tmp/native
09:42:05,807 INFO  [ServerImpl] Server Temp Dir: /home/karson/jboss-5.0.0.GA/server/default/tmp
09:42:05,807 INFO  [ServerImpl] Server Temp Deploy Dir: /home/karson/jboss-5.0.0.GA/server/default/tmp/deploy
09:42:06,370 INFO  [ServerImpl] Starting Microcontainer, bootstrapURL=file:/home/karson/jboss-5.0.0.GA/server/default/conf/bootstrap.xml
09:42:06,827 INFO  [VFSCacheFactory] Initializing VFSCache [org.jboss.virtual.plugins.cache.IterableTimedVFSCache]
09:42:06,835 INFO  [VFSCacheFactory] Using VFSCache [IterableTimedVFSCache{lifetime=1800, resolution=60}]
09:42:07,133 INFO  [CopyMechanism] VFS temp dir: /home/karson/jboss-5.0.0.GA/server/default/tmp
09:42:07,135 INFO  [ZipEntryContext] VFS force nested jars copy-mode is enabled.
09:42:08,532 INFO  [ServerInfo] Java version: 1.6.0_16,Sun Microsystems Inc.
09:42:08,532 INFO  [ServerInfo] Java VM: Java HotSpot(TM) Server VM 14.2-b01,Sun Microsystems Inc.
09:42:08,532 INFO  [ServerInfo] OS-System: Linux 2.6.31-17-generic,i386
09:42:08,575 INFO  [JMXKernel] Legacy JMX core initialized
09:42:11,444 INFO  [ProfileServiceImpl] Loading profile: default from: org.jboss.system.server.profileservice.repository.SerializableDeploymentRepository@1298826(root=/home/karson/jboss-5.0.0.GA/server, key=org.jboss.profileservice.spi.ProfileKey@143b82c3[domain=default,server=default,name=default])
09:42:11,446 INFO  [ProfileImpl] Using repository:org.jboss.system.server.profileservice.repository.SerializableDeploymentRepository@1298826(root=/home/karson/jboss-5.0.0.GA/server, key=org.jboss.profileservice.spi.ProfileKey@143b82c3[domain=default,server=default,name=default])
09:42:11,446 INFO  [ProfileServiceImpl] Loaded profile: ProfileImpl@1f31ad9{key=org.jboss.profileservice.spi.ProfileKey@143b82c3[domain=default,server=default,name=default]}
09:42:13,057 INFO  [WebService] Using RMI server codebase: http://127.0.0.1:8083/
09:42:20,030 INFO  [NativeServerConfig] JBoss Web Services - Stack Native Core
09:42:20,030 INFO  [NativeServerConfig] 3.0.4.SP1
09:42:28,505 INFO  [JMXConnectorServerService] JMX Connector server: service:jmx:rmi://127.0.0.1/jndi/rmi://127.0.0.1:1090/jmxconnector
09:42:28,671 INFO  [MailService] Mail Service bound to java:/Mail
09:42:30,516 WARN  [JBossASSecurityMetadataStore] WARNING! POTENTIAL SECURITY RISK. It has been detected that the MessageSucker component which sucks messages from one node to another has not had its password changed from the installation default. Please see the JBoss Messaging user guide for instructions on how to do this.
09:42:30,531 WARN  [AnnotationCreator] No ClassLoader provided, using TCCL: org.jboss.managed.api.annotation.ManagementComponent
09:42:30,689 INFO  [TransactionManagerService] JBossTS Transaction Service (JTA version) - JBoss Inc.
09:42:30,689 INFO  [TransactionManagerService] Setting up property manager MBean and JMX layer
09:42:31,034 INFO  [TransactionManagerService] Initializing recovery manager
09:42:31,189 INFO  [TransactionManagerService] Recovery manager configured
09:42:31,189 INFO  [TransactionManagerService] Binding TransactionManager JNDI Reference
09:42:31,216 INFO  [TransactionManagerService] Starting transaction recovery manager
09:42:31,687 INFO  [Http11Protocol] Initializing Coyote HTTP/1.1 on http-127.0.0.1-8080
09:42:31,688 INFO  [AjpProtocol] Initializing Coyote AJP/1.3 on ajp-127.0.0.1-8009
09:42:31,688 INFO  [StandardService] Starting service jboss.web
09:42:31,690 INFO  [StandardEngine] Starting Servlet Engine: JBoss Web/2.1.1.GA
09:42:31,743 INFO  [Catalina] Server startup in 116 ms
09:42:31,775 INFO  [TomcatDeployment] deploy, ctxPath=/web-console, vfsUrl=management/console-mgr.sar/web-console.war
09:42:32,582 INFO  [TomcatDeployment] deploy, ctxPath=/jbossws, vfsUrl=jbossws.sar/jbossws-management.war
09:42:32,624 INFO  [TomcatDeployment] deploy, ctxPath=/invoker, vfsUrl=http-invoker.sar/invoker.war
09:42:32,752 INFO  [RARDeployment] Required license terms exist, view vfszip:/home/karson/jboss-5.0.0.GA/server/default/deploy/jboss-local-jdbc.rar/META-INF/ra.xml
09:42:32,774 INFO  [RARDeployment] Required license terms exist, view vfszip:/home/karson/jboss-5.0.0.GA/server/default/deploy/jboss-xa-jdbc.rar/META-INF/ra.xml
09:42:32,803 INFO  [RARDeployment] Required license terms exist, view vfszip:/home/karson/jboss-5.0.0.GA/server/default/deploy/jms-ra.rar/META-INF/ra.xml
09:42:32,820 INFO  [RARDeployment] Required license terms exist, view vfszip:/home/karson/jboss-5.0.0.GA/server/default/deploy/mail-ra.rar/META-INF/ra.xml
09:42:32,846 INFO  [RARDeployment] Required license terms exist, view vfszip:/home/karson/jboss-5.0.0.GA/server/default/deploy/quartz-ra.rar/META-INF/ra.xml
09:42:32,977 INFO  [SimpleThreadPool] Job execution threads will use class loader of thread: main
09:42:33,004 INFO  [QuartzScheduler] Quartz Scheduler v.1.5.2 created.
09:42:33,007 INFO  [RAMJobStore] RAMJobStore initialized.
09:42:33,007 INFO  [StdSchedulerFactory] Quartz scheduler 'DefaultQuartzScheduler' initialized from default resource file in Quartz package: 'quartz.properties'
09:42:33,007 INFO  [StdSchedulerFactory] Quartz scheduler version: 1.5.2
09:42:33,008 INFO  [QuartzScheduler] Scheduler DefaultQuartzScheduler_$_NON_CLUSTERED started.
09:42:33,504 INFO  [ConnectionFactoryBindingService] Bound ConnectionManager 'jboss.jca:service=DataSourceBinding,name=DefaultDS' to JNDI name 'java:DefaultDS'
09:42:33,861 INFO  [SimpleThreadPool] Job execution threads will use class loader of thread: main
09:42:33,863 INFO  [QuartzScheduler] Quartz Scheduler v.1.5.2 created.
09:42:33,863 INFO  [JobStoreCMT] Using db table-based data access locking (synchronization).
09:42:33,872 INFO  [JobStoreCMT] Removed 0 Volatile Trigger(s).
09:42:33,872 INFO  [JobStoreCMT] Removed 0 Volatile Job(s).
09:42:33,873 INFO  [JobStoreCMT] JobStoreCMT initialized.
09:42:33,873 INFO  [StdSchedulerFactory] Quartz scheduler 'JBossEJB3QuartzScheduler' initialized from an externally provided properties instance.
09:42:33,873 INFO  [StdSchedulerFactory] Quartz scheduler version: 1.5.2
09:42:33,874 INFO  [JobStoreCMT] Freed 0 triggers from 'acquired' / 'blocked' state.
09:42:33,876 INFO  [JobStoreCMT] Recovering 0 jobs that were in-progress at the time of the last shut-down.
09:42:33,876 INFO  [JobStoreCMT] Recovery complete.
09:42:33,891 INFO  [JobStoreCMT] Removed 0 'complete' triggers.
09:42:33,898 INFO  [JobStoreCMT] Removed 0 stale fired job entries.
09:42:33,901 INFO  [QuartzScheduler] Scheduler JBossEJB3QuartzScheduler_$_NON_CLUSTERED started.
09:42:34,217 INFO  [ServerPeer] JBoss Messaging 1.4.1.GA server [0] started
09:42:34,314 INFO  [QueueService] Queue[/queue/DLQ] started, fullSize=200000, pageSize=2000, downCacheSize=2000
09:42:34,396 INFO  [ConnectionFactory] Connector bisocket://127.0.0.1:4457 has leasing enabled, lease period 10000 milliseconds
09:42:34,396 INFO  [ConnectionFactory] org.jboss.jms.server.connectionfactory.ConnectionFactory@1d7a36e started
09:42:34,398 INFO  [QueueService] Queue[/queue/ExpiryQueue] started, fullSize=200000, pageSize=2000, downCacheSize=2000
09:42:34,399 INFO  [ConnectionFactory] Connector bisocket://127.0.0.1:4457 has leasing enabled, lease period 10000 milliseconds
09:42:34,399 INFO  [ConnectionFactory] org.jboss.jms.server.connectionfactory.ConnectionFactory@16cc7c7 started
09:42:34,400 WARN  [ConnectionFactoryJNDIMapper] supportsFailover attribute is true on connection factory: jboss.messaging.connectionfactory:service=ClusteredConnectionFactory but post office is non clustered. So connection factory will *not* support failover
09:42:34,400 WARN  [ConnectionFactoryJNDIMapper] supportsLoadBalancing attribute is true on connection factory: jboss.messaging.connectionfactory:service=ClusteredConnectionFactory but post office is non clustered. So connection factory will *not* support load balancing
09:42:34,403 INFO  [ConnectionFactory] Connector bisocket://127.0.0.1:4457 has leasing enabled, lease period 10000 milliseconds
09:42:34,403 INFO  [ConnectionFactory] org.jboss.jms.server.connectionfactory.ConnectionFactory@bb6f2c started
09:42:34,521 INFO  [ConnectionFactoryBindingService] Bound ConnectionManager 'jboss.jca:service=ConnectionFactoryBinding,name=JmsXA' to JNDI name 'java:JmsXA'
09:42:34,535 INFO  [TomcatDeployment] deploy, ctxPath=/, vfsUrl=ROOT.war
09:42:34,592 INFO  [TomcatDeployment] deploy, ctxPath=/jmx-console, vfsUrl=jmx-console.war
09:42:34,668 INFO  [Http11Protocol] Starting Coyote HTTP/1.1 on http-127.0.0.1-8080
09:42:34,708 INFO  [AjpProtocol] Starting Coyote AJP/1.3 on ajp-127.0.0.1-8009
09:42:34,740 INFO  [ServerImpl] JBoss (Microcontainer) [5.0.0.GA (build: SVNTag=JBoss_5_0_0_GA date=200812042120)] Started in 28s:931ms
09:43:39,682 ERROR [AbstractKernelController] Error installing to Parse: name=vfszip:/home/karson/jboss-5.0.0.GA/server/default/deploy/titan.jar state=Not Installed mode=Manual requiredState=Parse
org.jboss.deployers.spi.DeploymentException: Error creating managed object for vfszip:/home/karson/jboss-5.0.0.GA/server/default/deploy/titan.jar
	at org.jboss.deployers.spi.DeploymentException.rethrowAsDeploymentException(DeploymentException.java:49)
	at org.jboss.deployers.spi.deployer.helpers.AbstractParsingDeployerWithOutput.createMetaData(AbstractParsingDeployerWithOutput.java:337)
	at org.jboss.deployers.spi.deployer.helpers.AbstractParsingDeployerWithOutput.createMetaData(AbstractParsingDeployerWithOutput.java:297)
	at org.jboss.deployers.spi.deployer.helpers.AbstractParsingDeployerWithOutput.createMetaData(AbstractParsingDeployerWithOutput.java:269)
	at org.jboss.deployers.spi.deployer.helpers.AbstractParsingDeployerWithOutput.deploy(AbstractParsingDeployerWithOutput.java:230)
	at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:171)
	at org.jboss.deployers.plugins.deployers.DeployersImpl.doDeploy(DeployersImpl.java:1439)
	at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1157)
	at org.jboss.deployers.plugins.deployers.DeployersImpl.install(DeployersImpl.java:1098)
	at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
	at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1598)
	at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934)
	at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1062)
	at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984)
	at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:822)
	at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)
	at org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:781)
	at org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:545)
	at org.jboss.system.server.profileservice.hotdeploy.HDScanner.scan(HDScanner.java:290)
	at org.jboss.system.server.profileservice.hotdeploy.HDScanner.run(HDScanner.java:221)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
	at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
	at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:619)
Caused by: org.jboss.xb.binding.JBossXBException: Failed to parse source: Failed to resolve schema nsURI= location=persistence
	at org.jboss.xb.binding.parser.sax.SaxJBossXBParser.parse(SaxJBossXBParser.java:203)
	at org.jboss.xb.binding.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:168)
	at org.jboss.deployers.vfs.spi.deployer.JBossXBDeployerHelper.parse(JBossXBDeployerHelper.java:199)
	at org.jboss.deployers.vfs.spi.deployer.JBossXBDeployerHelper.parse(JBossXBDeployerHelper.java:170)
	at org.jboss.deployers.vfs.spi.deployer.SchemaResolverDeployer.parse(SchemaResolverDeployer.java:132)
	at org.jboss.deployers.vfs.spi.deployer.SchemaResolverDeployer.parse(SchemaResolverDeployer.java:118)
	at org.jboss.deployers.vfs.spi.deployer.AbstractVFSParsingDeployer.parseAndInit(AbstractVFSParsingDeployer.java:256)
	at org.jboss.deployers.vfs.spi.deployer.AbstractVFSParsingDeployer.parse(AbstractVFSParsingDeployer.java:188)
	at org.jboss.deployers.spi.deployer.helpers.AbstractParsingDeployerWithOutput.createMetaData(AbstractParsingDeployerWithOutput.java:323)
	... 27 more
Caused by: org.jboss.xb.binding.JBossXBRuntimeException: Failed to resolve schema nsURI= location=persistence
	at org.jboss.xb.binding.sunday.unmarshalling.SundayContentHandler.startElement(SundayContentHandler.java:313)
	at org.jboss.xb.binding.parser.sax.SaxJBossXBParser$DelegatingContentHandler.startElement(SaxJBossXBParser.java:401)
	at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source)
	at org.apache.xerces.impl.xs.XMLSchemaValidator.startElement(Unknown Source)
	at org.apache.xerces.xinclude.XIncludeHandler.startElement(Unknown Source)
	at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)
	at org.apache.xerces.impl.XMLNSDocumentScannerImpl$NSContentDispatcher.scanRootElementHook(Unknown Source)
	at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
	at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
	at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
	at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
	at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
	at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
	at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
	at org.jboss.xb.binding.parser.sax.SaxJBossXBParser.parse(SaxJBossXBParser.java:199)
	... 35 more
09:43:39,687 WARN  [HDScanner] Failed to process changes
org.jboss.deployers.client.spi.IncompleteDeploymentException: Summary of incomplete deployments (SEE PREVIOUS ERRORS FOR DETAILS):

*** CONTEXTS IN ERROR: Name -> Error

vfszip:/home/karson/jboss-5.0.0.GA/server/default/deploy/titan.jar -> org.jboss.xb.binding.JBossXBRuntimeException: Failed to resolve schema nsURI= location=persistence


	at org.jboss.deployers.plugins.deployers.DeployersImpl.checkComplete(DeployersImpl.java:863)
	at org.jboss.deployers.plugins.main.MainDeployerImpl.checkComplete(MainDeployerImpl.java:665)
	at org.jboss.system.server.profileservice.hotdeploy.HDScanner.scan(HDScanner.java:293)
	at org.jboss.system.server.profileservice.hotdeploy.HDScanner.run(HDScanner.java:221)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
	at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
	at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:619)


0

Black zmienilem w pliku persistance.xml poczatek na:

<persistence xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" version="1.0">

i jar sie zdeployował na serwer ale jest kolejny wyjatek :-D [glowa] ... normalnie nie wyrabiam juz ehehe

run.client:
     [java] Exception in thread "main" java.lang.ClassCastException
     [java] 	at com.sun.corba.se.impl.javax.rmi.PortableRemoteObject.narrow(PortableRemoteObject.java:229)
     [java] 	at javax.rmi.PortableRemoteObject.narrow(PortableRemoteObject.java:137)
     [java] 	at com.titan.clients.Client.main(Client.java:22)
     [java] Caused by: java.lang.ClassCastException: javax.naming.Reference cannot be cast to org.omg.CORBA.Object
     [java] 	at com.sun.corba.se.impl.javax.rmi.PortableRemoteObject.narrow(PortableRemoteObject.java:212)
     [java] 	... 2 more
     [java] Java Result: 1

blad rzutowania ??

TravelAgentRemote dao = (TravelAgentRemote)

            PortableRemoteObject.narrow(ref,TravelAgentRemote.class);
0

Cześć.

Nie pamiętam tego dokładnie, ale miałem podobny błąd chyba

Sprawdź importy w pliku gdzie to wywołujesz, bo CORBA ma takie sam typ: PortableRemoteObject, ja tak miałęm, że miałem PortableRemoteObject, ale nie z tego impotu, tam powinien byc chyba javax..... coś tam.PortableRemoteObject, a pewnie masz cośtam.CORBA.PortableRemoteOBject

Tak mi się wydaje przynajmniej.

0

tez tak mi sie wydawalo ale po importach widze ze sa raczej ok [???]

package com.titan.clients;



import com.titan.travelagent.TravelAgentRemote;

import com.titan.domain.Cabin;



import javax.naming.InitialContext;

import javax.naming.Context;

import javax.naming.NamingException;



import javax.rmi.PortableRemoteObject;



public class Client

{

    public static void main(String [] args)

    {

        try

        {


            Context jndiContext = getInitialContext();

            Object ref = jndiContext.lookup("TravelAgentBean/remote");

            TravelAgentRemote dao = (TravelAgentRemote)

            javax.rmi.PortableRemoteObject.narrow(ref,TravelAgentRemote.class);



            Cabin cabin_1 = new Cabin();

            cabin_1.setId(1);

            cabin_1.setName("Kajuta luksusowa");

            cabin_1.setDeckLevel(1);

            cabin_1.setShipId(1);

            cabin_1.setBedCount(3);



            dao.createCabin(cabin_1);



            Cabin cabin_2 = dao.findCabin(1);

            System.out.println(cabin_2.getName());

            System.out.println(cabin_2.getDeckLevel());

            System.out.println(cabin_2.getShipId());

            System.out.println(cabin_2.getBedCount());



        }

        catch (javax.naming.NamingException ne)

        {

            ne.printStackTrace();

        }

    }



    public static Context getInitialContext()

        throws javax.naming.NamingException

    {

        return new javax.naming.InitialContext(); 



    }

}
0

A po co wywolujesz narrow? W EJB 3 nie trzeba zdaje sie tego robic?

0

:: wiesz co jestem poczatkujacy a przyklad jest z ksiazki Enterprise JavaBeans 3.0. Po co wywołuje [???]... na chwile obecna jest to magiczna metoda ktora da mi referencje do obiektu zdalnego :-) .

Z Twojej wypowidzi rozumiem ze wystarczy wykasowac ta linijke i rzutowac od razu na przy wywolaniu metody lookup(..)..niestety to rowniez powoduje wyjatek:

run.client:
     [java] Exception in thread "main" java.lang.ClassCastException: javax.naming.Reference cannot be cast to com.titan.travelagent.TravelAgentRemote
     [java] 	at com.titan.clients.Client.main(Client.java:19)
     [java] Java Result: 1

0

Bardzo by pomoglo gdybys napisal pod jaka nazwa jest zbindowany ten EJB ktorego chcesz wolac. Nie wiem czy to podales, nie moglem znalezc w tresci watku. I pytam nie o nazwe za pomoca ktorej robisz lookup (bo to widac w kodzie, i nie jest to to o co mi chodzi), ale nazwe pod ktora serwer robi bind EJB w JNDI. Z wyjatku jaki dostajesz mozna wnioskowac ze lookup nie jest EJb, tylko kontekstu JNDI w ktorym sie on znajduje.

0

wklejam fragmenty z JNDIView:

java:comp namespace of the component jboss.j2ee:jar=titan.jar,name=TravelAgentBean,service=EJB3 :
  +- EJBContext (class: javax.ejb.EJBContext)
  +- TransactionSynchronizationRegistry[link -> java:TransactionSynchronizationRegistry] (class: javax.naming.LinkRef)
  +- UserTransaction (class: org.jboss.ejb3.tx.UserTransactionImpl)
  +- env (class: org.jnp.interfaces.NamingContext)
  |   +- com.titan.travelagent.TravelAgentBean (class: org.jnp.interfaces.NamingContext)
  |   |   +- manager (class: org.jboss.jpa.tx.TransactionScopedEntityManager)
  |   +- manager (class: org.jboss.jpa.tx.TransactionScopedEntityManager)
  +- ORB[link -> java:/JBossCorbaORB] (class: javax.naming.LinkRef)

Global JNDI Namespace
  +- UserTransactionSessionFactory (proxy: $Proxy95 implements interface org.jboss.tm.usertx.interfaces.UserTransactionSessionFactory)
  +- UUIDKeyGeneratorFactory (class: org.jboss.ejb.plugins.keygenerator.uuid.UUIDKeyGeneratorFactory)
  +- HiLoKeyGeneratorFactory (class: org.jboss.ejb.plugins.keygenerator.hilo.HiLoKeyGeneratorFactory)
  +- TravelAgentBean (class: org.jnp.interfaces.NamingContext)
  |   +- remote-com.titan.travelagent.TravelAgentRemote (class: Proxy for: com.titan.travelagent.TravelAgentRemote)
  |   +- remote (class: Proxy for: com.titan.travelagent.TravelAgentRemote)
  +- XAConnectionFactory (class: org.jboss.jms.client.JBossConnectionFactory)
...
0

Mógłby mi ktos podpowiedziec dlaczego gdy uruchamiam aplikacje kliencka dostaje wyjatek:

run.client:
     [java] Exception in thread "main" java.lang.ClassCastException: javax.naming.Reference cannot be cast to com.titan.travelagent.TravelAgentRemote
     [java] 	at com.titan.clients.Client.main(Client.java:21)
     [java] Java Result: 1

logi jboss'a:

09:10:33,349 INFO  [JndiSessionRegistrarBase] Binding the following Entries in Global JNDI:
	TravelAgentBean/remote - EJB3.x Default Remote Business Interface
	TravelAgentBean/remote-com.titan.travelagent.TravelAgentRemote - EJB3.x Remote Business Interface

fragment Clienta:

            Context jndiContext = getInitialContext();

            Object ref = jndiContext.lookup("TravelAgentBean/remote");
	    //System.out.println(ref); // jesli wyswietle sobie ta referencje dostaje jak ponizej*
	    TravelAgentRemote dao = (TravelAgentRemote)ref; 
     [java] Type: ProxyFactoryKey
     [java] Content: ProxyFactory/TravelAgentBean/TravelAgentBean/remote
     [java] Type: EJB Container Name
     [java] Content: jboss.j2ee:jar=titan.jar,name=TravelAgentBean,service=EJB3
     [java] Type: Proxy Factory is Local
     [java] Content: false
     [java] Type: Remote Business Interface
     [java] Content: com.titan.travelagent.TravelAgentRemote
     [java] Type: Remoting Host URL
     [java] Content: socket://127.0.0.1:3873/

W sciezce klas mam dodany rowniez plik jbossall-client.jar, co powinno tam jeszcze sie znajdowac byc moze to tu lezy problem. [???]

1 użytkowników online, w tym zalogowanych: 0, gości: 1