Hallo,
ich bin neu in der Java EE Welt und hab noch etwas Probleme.
Im Moment versuche ich grade ein einfaches JPA Projekt zu machen, aber ich bekomme immer den gleichen Fehler...
hier mal der Stack trace
Wie man im Stacktrace sieht scheitert es schon beim Deployen, aber warum versteh ich nicht...
Komischerweise ist die KundenverwaltungBean laut jndiView des JBoss deployt?!?!?
Wenn ich den Client aber laufen lasse bekomme ich folgendes:
javax.naming.NameNotFoundException: KundenverwaltungBean not bound
Remote Interace
die Implementierung
das POJO Kunde
der Client (in einem zweiten Eclipse Projekt)
und meine persistence.xml (liegt auf höhe des META-INF Ordners beim Server Projekt)
Bitte helft mir auf die Sprünge...
Ich hänge hier schon seit Ewigkeiten, ich hab gegooglet, Foren durchstöbert, andere Tutorials ... nichts hat geholfen
ich bin neu in der Java EE Welt und hab noch etwas Probleme.
Im Moment versuche ich grade ein einfaches JPA Projekt zu machen, aber ich bekomme immer den gleichen Fehler...
hier mal der Stack trace
Java:
15:46:15,890 ERROR [AbstractKernelController] Error installing to Parse: name=vfszip:/C:/jboss-5.1.0.GA/server/default/deploy/KundenverwaltungServer.jar/ state=Not Installed mode=Manual requiredState=Parse
org.jboss.deployers.spi.DeploymentException: Error creating managed object for vfszip:/C:/jboss-5.1.0.GA/server/default/deploy/KundenverwaltungServer.jar/
at org.jboss.deployers.spi.DeploymentException.rethrowAsDeploymentException(DeploymentException.java:49)
at org.jboss.deployers.spi.deployer.helpers.AbstractParsingDeployerWithOutput.createMetaData(AbstractParsingDeployerWithOutput.java:362)
at org.jboss.deployers.spi.deployer.helpers.AbstractParsingDeployerWithOutput.createMetaData(AbstractParsingDeployerWithOutput.java:322)
at org.jboss.deployers.spi.deployer.helpers.AbstractParsingDeployerWithOutput.createMetaData(AbstractParsingDeployerWithOutput.java:294)
at org.jboss.deployers.spi.deployer.helpers.AbstractParsingDeployerWithOutput.deploy(AbstractParsingDeployerWithOutput.java:234)
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:1631)
at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934)
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1082)
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:702)
at org.jboss.system.server.profileservice.repository.MainDeployerAdapter.process(MainDeployerAdapter.java:117)
at org.jboss.system.server.profileservice.hotdeploy.HDScanner.scan(HDScanner.java:362)
at org.jboss.system.server.profileservice.hotdeploy.HDScanner.run(HDScanner.java:255)
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:885)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
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.xb.util.JBossXBHelper.parse(JBossXBHelper.java:189)
at org.jboss.xb.util.JBossXBHelper.parse(JBossXBHelper.java:166)
at org.jboss.deployers.vfs.spi.deployer.SchemaResolverDeployer.parse(SchemaResolverDeployer.java:137)
at org.jboss.deployers.vfs.spi.deployer.SchemaResolverDeployer.parse(SchemaResolverDeployer.java:121)
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:348)
... 28 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:281)
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)
... 36 more
15:46:15,890 WARN [HDScanner] Failed to process changes
org.jboss.deployers.client.spi.IncompleteDeploymentException: Summary of incomplete deployments (SEE PREVIOUS ERRORS FOR DETAILS):
*** DEPLOYMENTS IN ERROR: Name -> Error
vfszip:/C:/jboss-5.1.0.GA/server/default/deploy/KundenverwaltungServer.jar/ -> org.jboss.deployers.spi.DeploymentException: Error creating managed object for vfszip:/C:/jboss-5.1.0.GA/server/default/deploy/KundenverwaltungServer.jar/
DEPLOYMENTS IN ERROR:
Deployment "vfszip:/C:/jboss-5.1.0.GA/server/default/deploy/KundenverwaltungServer.jar/" is in error due to the following reason(s): org.jboss.xb.binding.JBossXBRuntimeException: Failed to resolve schema nsURI= location=persistence
at org.jboss.deployers.plugins.deployers.DeployersImpl.checkComplete(DeployersImpl.java:993)
at org.jboss.deployers.plugins.deployers.DeployersImpl.checkComplete(DeployersImpl.java:939)
at org.jboss.deployers.plugins.main.MainDeployerImpl.checkComplete(MainDeployerImpl.java:873)
at org.jboss.system.server.profileservice.repository.MainDeployerAdapter.checkComplete(MainDeployerAdapter.java:128)
at org.jboss.system.server.profileservice.hotdeploy.HDScanner.scan(HDScanner.java:369)
at org.jboss.system.server.profileservice.hotdeploy.HDScanner.run(HDScanner.java:255)
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:885)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:619)
Wie man im Stacktrace sieht scheitert es schon beim Deployen, aber warum versteh ich nicht...
Komischerweise ist die KundenverwaltungBean laut jndiView des JBoss deployt?!?!?
Wenn ich den Client aber laufen lasse bekomme ich folgendes:
javax.naming.NameNotFoundException: KundenverwaltungBean not bound
Remote Interace
Java:
@Remote
public interface KundenverwaltungRemote {
public void addKunde(int nr, String name);
public Object findKunde(int nr);
}
die Implementierung
Java:
@Stateless
public class KundenverwaltungBean implements KundenverwaltungRemote {
private @PersistenceContext EntityManager em;
@Override
public void addKunde(int nr, String name) {
System.out.println("füge Kunde " + name + " mit Kundennummer " + nr + " hinzu");
em.persist(new Kunde(nr, name));
}
@Override
public Kunde findKunde(int nr) {
System.out.println("finde Kunde mit Nr " + nr);
return em.find(Kunde.class, nr);
}
}
das POJO Kunde
Java:
@Entity
public class Kunde implements Serializable{
/**
*
*/
private static final long serialVersionUID = 1L;
@Id @GeneratedValue private int kd_nr;
private String kd_name;
public Kunde(int nr, String name){
this.kd_nr = nr;
this.kd_name = name;
}
public String getKd_name() { return kd_name;}
public void setKd_name(String kdName) { kd_name = kdName; }
public int getKd_nr() { return kd_nr; }
public void setKd_nr(int kdNr) { kd_nr = kdNr; }
}
der Client (in einem zweiten Eclipse Projekt)
Java:
public class KundenverwaltungClient {
public static void main(String[] args) {
try {
Properties props = new Properties();
props.setProperty("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory");
props.setProperty("java.naming.provider.url", "jnp://localhost:1099");
InitialContext context = new InitialContext(props);
KundenverwaltungRemote kundenverwaltung = (KundenverwaltungRemote) context.lookup("KundenverwaltungBean/remote");
kundenverwaltung.addKunde(1, "Andi");
kundenverwaltung.addKunde(2, "Richi");
kundenverwaltung.addKunde(3, "Obama");
System.out.println(kundenverwaltung.findKunde(2));
} catch (NamingException e) {
e.printStackTrace();
}
}
}
und meine persistence.xml (liegt auf höhe des META-INF Ordners beim Server Projekt)
Java:
<?xml version="1.0" encoding="UTF-8"?>
<persistence>
<persistence-unit name="kunde">
<jta-data-source>java:/DefaultDS</jta-data-source>
<properties>
<property name="hibernate.hbm2ddl.auto" value="create-drop" />
</properties>
</persistence-unit>
</persistence>
Bitte helft mir auf die Sprünge...
Ich hänge hier schon seit Ewigkeiten, ich hab gegooglet, Foren durchstöbert, andere Tutorials ... nichts hat geholfen
Zuletzt bearbeitet: