RE: [JBoss-user] Not the usual primkey-field problem

2002-04-11 Thread Jeff Schnitzer

Doh!  Bart!  I feel silly.  Thanks, it's working fine now.

BTW, someone should update the DTD at:

http://www.jboss.org/j2ee/dtd/jbosscmp-jdbc_3_0.dtd

Jeff

--
From:   Dain Sundstrom

(datasource, datasource-mapping)?,

Means that you must have both or neither.

-dain








winmail.dat
Description: application/ms-tnef


Re: [JBoss-user] Not the usual primkey-field problem

2002-04-10 Thread Dain Sundstrom

Jeff,

Just ignore the spec violation errors right now.  The code was just 
added and from what I understand it is currently just a copy of the CMP 
1.1 verifier.  I don't remember who is working on it, but he said that 
this was a known problem.  Anyway, it should be fixed soon.

-dain

Jeff Schnitzer wrote:

 I am trying to deploy a simple test CMP 2.0 entity bean on a fresh build
 of the jboss 3.0 CVS tree.  My deployment descriptors are built with the
 CVS version of XDoclet.  I feel fairly certain that they are correct,
 and yet I am getting a spec violation error complaining that the
 primkey-field must be one of the CMP fields of the entity.
 
 In addition, I get an error message which looks like the
 jbosscmp-jdbc.xml is failing validation... but looking at the DTD, the
 complaint must be erroneous.  The DTD says that all elements within
 defaults are optional. 
 
 What's up?  Can someone take a look at this and give me some
 suggestions?  This is a trivial bean...
 
 (as an aside, should I be posting questions like this here or in the
 forums or both?)
 
 The error looks like this:
 --
 01:12:34,837 INFO  [EARDeployer] Init J2EE application:
 file:/C:/src/jboss/jboss-all/build/output/jboss-3.0.0beta2/server/defaul
 t/deploy/servertest2.ear
 01:12:35,860 INFO  [EJBDeployer]
 Bean   : SomeEntity
 Section: 10.8.1
 Warning: The primkey-field must be one of the CMP fields of the entity
 bean.
 
 01:12:35,950 INFO  [EjbModule] Creating
 01:12:36,050 INFO  [EjbModule] Deploying SomeEntity
 01:12:36,742 INFO  [EjbModule] Deploying SomeSession
 01:12:37,533 ERROR [XmlFileLoader] XmlFileLoader: File
 njar:file:/C:/src/jboss/jboss-all/build/output/jboss-3.0.0beta2/server/d
 efault/tmp/deploy/C/src/jboss/jboss-all/build/output/jboss-3.0.0beta2/se
 rver/default/deploy/servertest2.ear/71.servertest2.ear^/servertest2-ejb.
 jar!/META-INF/jbosscmp-jdbc.xml process error. Line: 7. Error message:
 Element defaults requires additional elements.
 ...lots more errors
 --
 
 Yet the primkey-field appears to be set up just fine.  Here is what my
 EJB (with XDoclet tags) looks like:
 
 --
 package ejb;
 
 import javax.ejb.*;
 
 /**
  * @author Jeff Schnitzer
  *
  * @ejb:bean name=SomeEntity
  *   view-type=local
  *   type=CMP
  *   local-jndi-name=ejb/SomeEntity
  *   primkey-field=id
  *
  * @ejb:pk class=java.lang.String
  *
  * @ejb:transaction type=Supports
  *
  * @ejb:home local-extends=javax.ejb.EJBLocalHome
  * @ejb:data-object extends=java.lang.Object
  *
  * @ejb:finder signature=java.util.Collection findAll()
  * query=
  *
  * @jboss:table-name something
  */
 public abstract class SomeEntityEJB extends EntityBeanSupport
 {
   /**
* @ejb:pk-field
* @ejb:interface-method
* @ejb:persistent-field
*
* @jboss:column-name=id
*/
   public abstract String getId();
   
   public abstract void setId(String id);
 
   /**
* @ejb:interface-method
* @ejb:persistent-field
*
* @jboss:column-name=foo
*/
   public abstract String getFoo();
   
   public abstract void setFoo(String foo);
 
   /**
* @ejb:create-method
*/
   public String ejbCreate(String id, String foo) throws
 CreateException
   {
   this.setId(id);
   this.setFoo(foo);
 
   // For CMP we always return null
   return null;
   }
 
   public void ejbPostCreate(String id, String foo) {}
 }
 --
 
 This produces a very normal looking ejb-jar.xml:
 
 --
 ?xml version=1.0 encoding=UTF-8?
 !DOCTYPE ejb-jar PUBLIC -//Sun Microsystems, Inc.//DTD Enterprise
 JavaBeans 2.0//EN http://java.sun.com/dtd/ejb-jar_2_0.dtd;
 
 ejb-jar
 
descriptionNo Description/description
display-nameGenerated by XDoclet/display-name
 
enterprise-beans
 
   !-- Session Beans --
   session id=SomeSession
  description![CDATA[No Description.]]/description
 
  ejb-nameSomeSession/ejb-name
 
  homeejb.SomeSessionHome/home
  remoteejb.SomeSession/remote
  ejb-classejb.SomeSessionEJB/ejb-class
  session-typeStateless/session-type
  transaction-typeContainer/transaction-type
 
   /session
 
  !--
To add session beans that you have deployment descriptor info
 for, add
a file to your merge directory called session-beans.xml that
 contains
the session/session markup for those beans.
  --
 
   !-- Entity Beans --
   entity id=SomeEntity
  description![CDATA[No Description.]]/description
 
  ejb-nameSomeEntity/ejb-name
 
  local-homeejb.SomeEntityLocalHome/local-home
  localejb.SomeEntityLocal/local
 
  ejb-classejb.SomeEntityCMP/ejb-class
  persistence-typeContainer/persistence-type
  prim-key-classjava.lang.String/prim-key-class
  reentrantFalse/reentrant
   

RE: [JBoss-user] Not the usual primkey-field problem

2002-04-10 Thread Jeff Schnitzer

 From: Dain Sundstrom [mailto:[EMAIL PROTECTED]]
 
 Here is the defatults element:
 
 !ELEMENT defaults ((datasource, datasource-mapping)?, create-table?,
   remove-table?, read-only?, read-time-out?, row-locking?,
   pk-constraint?, fk-constraint?, preferred-relation-mapping?,
   read-ahead?, list-cache-max?)
 
 Did you define datasource and not datasource-mapping (or visa versa)?

Yep, defined the datasource.  Interesting, that DTD is a little
different from the one I downloaded two days ago.  But it still doesn't
explain my problem.  Here is my jbosscmp-jdbc.xml:

-
?xml version=1.0 encoding=UTF-8?
!DOCTYPE jbosscmp-jdbc PUBLIC -//JBoss//DTD JBOSSCMP-JDBC 3.0//EN
http://www.jboss.org/j2ee/dtd/jbosscmp-jdbc_3_0.dtd;

jbosscmp-jdbc
   defaults
 datasourcejava:/DefaultDS/datasource
   /defaults

   enterprise-beans

  entity
 ejb-nameSomeEntity/ejb-name
 table-namesomething/table-name

 cmp-field
field-namefoo/field-name
column-namefoo/column-name
 /cmp-field
 cmp-field
field-nameid/field-name
column-nameid/column-name
 /cmp-field

  /entity

   /enterprise-beans

/jbosscmp-jdbc
-

Thanks for the continued dialogue, btw!

Jeff Schnitzer
[EMAIL PROTECTED]

___
JBoss-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-user



RE: [JBoss-user] Not the usual primkey-field problem

2002-04-10 Thread Jeff Schnitzer

 From: Dain Sundstrom [mailto:[EMAIL PROTECTED]]
 
 Just ignore the spec violation errors right now.  The code was just
 added and from what I understand it is currently just a copy of the
CMP
 1.1 verifier.  I don't remember who is working on it, but he said that
 this was a known problem.  Anyway, it should be fixed soon.

Cool.  However, my bean still doesn't deploy, probably because of the
other error (something to do with defaults requiring more elements in
jbosscmp-jdbc.xml).  This is puzzling, because the DTD declares that all
elements within defaults are optional.

Any advice?

The jbosscmp-jdbc.xml is attached to my previous message, the (rather
long) excerpt from the log file when I try to deploy is here:
-
2002-04-10 12:51:46,259 DEBUG
[org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.SomeEntity]
Initializing CMP plugin for SomeEntity
2002-04-10 12:51:46,469 DEBUG
[org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.SomeEntity] Loading
standardjbosscmp-jdbc.xml :
file:/C:/src/jboss/jboss-all/build/output/jboss-3.0.0beta2/server/defaul
t/conf/standardjbosscmp-jdbc.xml
2002-04-10 12:51:47,100 DEBUG
[org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.SomeEntity]
jar:njar:file:/C:/src/jboss/jboss-all/build/output/jboss-3.0.0beta2/serv
er/default/tmp/deploy/C/src/jboss/jboss-all/build/output/jboss-3.0.0beta
2/server/default/deploy/servertest2.ear/71.servertest2.ear^/servertest2-
ejb.jar!/META-INF/jbosscmp-jdbc.xml found. Overriding defaults
2002-04-10 12:51:47,200 ERROR [org.jboss.metadata.XmlFileLoader]
XmlFileLoader: File
njar:file:/C:/src/jboss/jboss-all/build/output/jboss-3.0.0beta2/server/d
efault/tmp/deploy/C/src/jboss/jboss-all/build/output/jboss-3.0.0beta2/se
rver/default/deploy/servertest2.ear/71.servertest2.ear^/servertest2-ejb.
jar!/META-INF/jbosscmp-jdbc.xml process error. Line: 7. Error message:
Element defaults requires additional elements.
2002-04-10 12:51:47,240 ERROR [org.jboss.ejb.EntityContainer] Exception
in service lifecyle operation: create
org.jboss.deployment.DeploymentException: Invalid XML:
file=njar:file:/C:/src/jboss/jboss-all/build/output/jboss-3.0.0beta2/ser
ver/default/tmp/deploy/C/src/jboss/jboss-all/build/output/jboss-3.0.0bet
a2/server/default/deploy/servertest2.ear/71.servertest2.ear^/servertest2
-ejb.jar!/META-INF/jbosscmp-jdbc.xml
at
org.jboss.metadata.XmlFileLoader.getDocument(XmlFileLoader.java:262)
at
org.jboss.metadata.XmlFileLoader.getDocumentFromURL(XmlFileLoader.java:2
29)
at
org.jboss.metadata.XmlFileLoader.getDocument(XmlFileLoader.java:214)
at
org.jboss.ejb.plugins.cmp.jdbc.metadata.JDBCXmlFileLoader.load(JDBCXmlFi
leLoader.java:74)
at
org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.loadJDBCEntityMetaData(J
DBCStoreManager.java:521)
at
org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.create(JDBCStoreManager.
java:280)
at
org.jboss.ejb.plugins.CMPPersistenceManager.create(CMPPersistenceManager
.java:138)
at
org.jboss.ejb.EntityContainer.create(EntityContainer.java:329)
at org.jboss.ejb.Container.invoke(Container.java:765)
at
org.jboss.ejb.EntityContainer.invoke(EntityContainer.java:1007)
at
org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:447)
at
org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController
.java:805)
at $Proxy1.create(Unknown Source)
at
org.jboss.system.ServiceController.create(ServiceController.java:239)
at java.lang.reflect.Method.invoke(Native Method)
at
org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDi
spatcher.java:284)
at
org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:447)
at org.jboss.util.jmx.MBeanProxy.invoke(MBeanProxy.java:174)
at $Proxy22.create(Unknown Source)
at org.jboss.ejb.EjbModule.createService(EjbModule.java:348)
at
org.jboss.system.ServiceMBeanSupport.create(ServiceMBeanSupport.java:134
)
at java.lang.reflect.Method.invoke(Native Method)
at
org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDi
spatcher.java:284)
at
org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:447)
at
org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController
.java:805)
at $Proxy1.create(Unknown Source)
at
org.jboss.system.ServiceController.create(ServiceController.java:239)
at java.lang.reflect.Method.invoke(Native Method)
at
org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDi
spatcher.java:284)
at
org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:447)
at org.jboss.util.jmx.MBeanProxy.invoke(MBeanProxy.java:174)
at $Proxy6.create(Unknown Source)
at org.jboss.ejb.EJBDeployer.create(EJBDeployer.java:372)
at
org.jboss.deployment.MainDeployer.create(MainDeployer.java:633)
at

Re: [JBoss-user] Not the usual primkey-field problem

2002-04-10 Thread Dain Sundstrom



Jeff Schnitzer wrote:

From: Dain Sundstrom [mailto:[EMAIL PROTECTED]]

Here is the defatults element:

!ELEMENT defaults ((datasource, datasource-mapping)?, create-table?,
  remove-table?, read-only?, read-time-out?, row-locking?,
  pk-constraint?, fk-constraint?, preferred-relation-mapping?,
  read-ahead?, list-cache-max?)

Did you define datasource and not datasource-mapping (or visa versa)?

 
 Yep, defined the datasource.  Interesting, that DTD is a little
 different from the one I downloaded two days ago.  But it still doesn't
 explain my problem.  Here is my jbosscmp-jdbc.xml:
 
 -
 ?xml version=1.0 encoding=UTF-8?
 !DOCTYPE jbosscmp-jdbc PUBLIC -//JBoss//DTD JBOSSCMP-JDBC 3.0//EN
 http://www.jboss.org/j2ee/dtd/jbosscmp-jdbc_3_0.dtd;
 
 jbosscmp-jdbc
defaults
  datasourcejava:/DefaultDS/datasource
/defaults



(datasource, datasource-mapping)?,

Means that you must have both or neither.

-dain



___
JBoss-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-user



Re: [JBoss-user] Not the usual primkey-field problem

2002-04-10 Thread Dain Sundstrom

Here is the defatults element:

!ELEMENT defaults ((datasource, datasource-mapping)?, create-table?,
  remove-table?, read-only?, read-time-out?, row-locking?,
  pk-constraint?, fk-constraint?, preferred-relation-mapping?,
  read-ahead?, list-cache-max?)

Did you define datasource and not datasource-mapping (or visa versa)?

-dain

Jeff Schnitzer wrote:

From: Dain Sundstrom [mailto:[EMAIL PROTECTED]]

Just ignore the spec violation errors right now.  The code was just
added and from what I understand it is currently just a copy of the

 CMP
 
1.1 verifier.  I don't remember who is working on it, but he said that
this was a known problem.  Anyway, it should be fixed soon.

 
 Cool.  However, my bean still doesn't deploy, probably because of the
 other error (something to do with defaults requiring more elements in
 jbosscmp-jdbc.xml).  This is puzzling, because the DTD declares that all
 elements within defaults are optional.
 
 Any advice?
 
 The jbosscmp-jdbc.xml is attached to my previous message, the (rather
 long) excerpt from the log file when I try to deploy is here:
 -
 2002-04-10 12:51:46,259 DEBUG
 [org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.SomeEntity]
 Initializing CMP plugin for SomeEntity
 2002-04-10 12:51:46,469 DEBUG
 [org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.SomeEntity] Loading
 standardjbosscmp-jdbc.xml :
 file:/C:/src/jboss/jboss-all/build/output/jboss-3.0.0beta2/server/defaul
 t/conf/standardjbosscmp-jdbc.xml
 2002-04-10 12:51:47,100 DEBUG
 [org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.SomeEntity]
 jar:njar:file:/C:/src/jboss/jboss-all/build/output/jboss-3.0.0beta2/serv
 er/default/tmp/deploy/C/src/jboss/jboss-all/build/output/jboss-3.0.0beta
 2/server/default/deploy/servertest2.ear/71.servertest2.ear^/servertest2-
 ejb.jar!/META-INF/jbosscmp-jdbc.xml found. Overriding defaults
 2002-04-10 12:51:47,200 ERROR [org.jboss.metadata.XmlFileLoader]
 XmlFileLoader: File
 njar:file:/C:/src/jboss/jboss-all/build/output/jboss-3.0.0beta2/server/d
 efault/tmp/deploy/C/src/jboss/jboss-all/build/output/jboss-3.0.0beta2/se
 rver/default/deploy/servertest2.ear/71.servertest2.ear^/servertest2-ejb.
 jar!/META-INF/jbosscmp-jdbc.xml process error. Line: 7. Error message:
 Element defaults requires additional elements.
 2002-04-10 12:51:47,240 ERROR [org.jboss.ejb.EntityContainer] Exception
 in service lifecyle operation: create
 org.jboss.deployment.DeploymentException: Invalid XML:
 file=njar:file:/C:/src/jboss/jboss-all/build/output/jboss-3.0.0beta2/ser
 ver/default/tmp/deploy/C/src/jboss/jboss-all/build/output/jboss-3.0.0bet
 a2/server/default/deploy/servertest2.ear/71.servertest2.ear^/servertest2
 -ejb.jar!/META-INF/jbosscmp-jdbc.xml
   at
 org.jboss.metadata.XmlFileLoader.getDocument(XmlFileLoader.java:262)
   at
 org.jboss.metadata.XmlFileLoader.getDocumentFromURL(XmlFileLoader.java:2
 29)
   at
 org.jboss.metadata.XmlFileLoader.getDocument(XmlFileLoader.java:214)
   at
 org.jboss.ejb.plugins.cmp.jdbc.metadata.JDBCXmlFileLoader.load(JDBCXmlFi
 leLoader.java:74)
   at
 org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.loadJDBCEntityMetaData(J
 DBCStoreManager.java:521)
   at
 org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.create(JDBCStoreManager.
 java:280)
   at
 org.jboss.ejb.plugins.CMPPersistenceManager.create(CMPPersistenceManager
 .java:138)
   at
 org.jboss.ejb.EntityContainer.create(EntityContainer.java:329)
   at org.jboss.ejb.Container.invoke(Container.java:765)
   at
 org.jboss.ejb.EntityContainer.invoke(EntityContainer.java:1007)
   at
 org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:447)
   at
 org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController
 .java:805)
   at $Proxy1.create(Unknown Source)
   at
 org.jboss.system.ServiceController.create(ServiceController.java:239)
   at java.lang.reflect.Method.invoke(Native Method)
   at
 org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDi
 spatcher.java:284)
   at
 org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:447)
   at org.jboss.util.jmx.MBeanProxy.invoke(MBeanProxy.java:174)
   at $Proxy22.create(Unknown Source)
   at org.jboss.ejb.EjbModule.createService(EjbModule.java:348)
   at
 org.jboss.system.ServiceMBeanSupport.create(ServiceMBeanSupport.java:134
 )
   at java.lang.reflect.Method.invoke(Native Method)
   at
 org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDi
 spatcher.java:284)
   at
 org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:447)
   at
 org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController
 .java:805)
   at $Proxy1.create(Unknown Source)
   at
 org.jboss.system.ServiceController.create(ServiceController.java:239)
   at java.lang.reflect.Method.invoke(Native Method)
   at
 org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDi