geronimo-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David Jencks <david_jen...@yahoo.com>
Subject Re: Data source problems while deploying EAR
Date Fri, 08 Jun 2007 15:36:37 GMT

On Jun 8, 2007, at 8:12 AM, Erik B. Craig wrote:

> I'm having a good amount of troubles trying to get an EAR deployed  
> from a relatively small Geronimo application on geronimo 1.1.1
>
> Here is the output I'm getting
>
> C:\geronimo-1.1.1\bin>deploy --user system --password manager  
> deploy c:\j2g-demo
> -app\bin\geronimo-application.xml c:\j2g-demo-app\bin\TravelApp.ear
> Using GERONIMO_BASE:   C:\geronimo-1.1.1
> Using GERONIMO_HOME:   C:\geronimo-1.1.1
> Using GERONIMO_TMPDIR: C:\geronimo-1.1.1\var\temp
> Using JRE_HOME:        C:\Program Files\Java\jdk1.5.0_11
>     Error: Unable to distribute TravelApp.ear: Unable to resolve
>     resource reference 'jdbc/DefaultDS' (Could not auto-map to  
> resource.
>      Try adding a resource-ref mapping to your Geronimo deployment
>     plan.)
>
>
> I'm relatively sure this issue is coming from the openejb-jar.xml  
> file, and in the cmp-connection-factory resource-link tag at that.
> Here is that segment of that particular XML
>   <naming:cmp-connection-factory>
>     <naming:resource-link>DefaultDS</naming:resource-link>
>   </naming:cmp-connection-factory>

This isn't a jndi based resource-ref, so it's not the source of the  
problem.  In 1.1.1 we also never try to add "standard prefixes" like  
jdbc/ for datasources.
>
> (The reason I believe it to be here is due to the fact that  
> changing defaultds in that tag changes the defaultds in the  
> deployment error)
Are you sure?

I think the problem might be that in the spec dd one of your resource- 
refs is for jdbc/DefaultDS whereas in the plan below you map jdbc/ 
TravelDB

just a guess...
Personally I usually set up a database pool with the same name as in  
the resource-ref itself so I don't have to do the mapping since it is  
such a pain to set up.

thanks
david jencks

>
> I've tried to do as it recommends, with adding a resource-ref  
> mapping, but can't quite figure out the proper location/syntax for it
>
> I'm GUESSING there is something that I'm just missing due to  
> inexperience, and am hoping one of you guys that's a good deal more  
> seasoned might be able to point it out ot me.
>
> Thanks!
>
> For reference here is a copy of the entire openejb-jar.xml file.
> -------------------------------------
> <?xml version="1.0" encoding="UTF-8"?>
>
> <openejb-jar xmlns=" http://www.openejb.org/xml/ns/openejb-jar-2.1"  
> xmlns:naming="http://geronimo.apache.org/xml/ns/naming-1.1 "  
> xmlns:security="http://geronimo.apache.org/xml/ns/security-1.1"  
> xmlns:sys=" http://geronimo.apache.org/xml/ns/deployment-1.1">
>   <sys:environment>
>     <sys:moduleId>
>       <sys:groupId>j2g.java</sys:groupId>
>       <sys:artifactId>ejb-module</sys:artifactId>
>       <sys:version>1.0</sys:version>
>       <sys:type>jar</sys:type>
>     </sys:moduleId>
>     <sys:dependencies>
>     <sys:dependency>
>   <sys:groupId>j2g</sys:groupId>
>   <sys:artifactId>jms</sys:artifactId>
>   <sys:version>1.0</sys:version>
>   <sys:type>rar</sys:type>
> </sys:dependency>
> <sys:dependency>
>         <sys:groupId> j2g.java</sys:groupId>
>         <sys:artifactId>DefaultDS</sys:artifactId>
> </sys:dependency>
> <sys:dependency>
>   <sys:groupId>j2g</sys:groupId>
>   <sys:artifactId>security</sys:artifactId>
>   <sys:version>1.0</sys:version>
>   <sys:type>rar</sys:type>
> </sys:dependency>
> </sys:dependencies>
>   </sys:environment>
>   <naming:cmp-connection-factory>
>     <naming:resource-link>DefaultDS</naming:resource-link>
>   </naming:cmp-connection-factory>
>   <enforce-foreign-key-constraints/>
>   <enterprise-beans>
>     <entity>
>       <ejb-name>CustomerEJB</ejb-name>
>       <table-name>Customer</table-name>
>       <cmp-field-mapping>
>         <cmp-field-name>id</cmp-field-name>
>         <table-column>ID</table-column>
>       </cmp-field-mapping>
>       <cmp-field-mapping>
>         <cmp-field-name>lastName</cmp-field-name>
>         <table-column>LAST_NAME</table-column>
>       </cmp-field-mapping>
>       <cmp-field-mapping>
>         <cmp-field-name>firstName</cmp-field-name>
>         <table-column>FIRST_NAME</table-column>
>       </cmp-field-mapping>
>       <cmp-field-mapping>
>         <cmp-field-name>email</cmp-field-name>
>         <table-column>EMAIL</table-column>
>       </cmp-field-mapping>
> <resource-ref>
>         <ref-name>jdbc/TravelDB</ref-name>
>         <pattern>
>           <groupId> j2g.java</groupId>
>           <artifactId>DefaultDS</artifactId>
>           <name>DefaultDS</name>
>         </pattern>
>     </resource-ref>
>     </entity>
>     <entity>
>       <ejb-name>AgentEJB</ejb-name>
>       <table-name>Agent</table-name>
>       <cmp-field-mapping>
>         <cmp-field-name>id</cmp-field-name>
>         <table-column>ID</table-column>
>       </cmp-field-mapping>
>       <cmp-field-mapping>
>         <cmp-field-name>firstName</cmp-field-name>
>         <table-column>FIRST_NAME</table-column>
>       </cmp-field-mapping>
>       <cmp-field-mapping>
>         <cmp-field-name>lastName</cmp-field-name>
>         <table-column>LAST_NAME</table-column>
>       </cmp-field-mapping>
>       <cmp-field-mapping>
>         <cmp-field-name>organization</cmp-field-name>
>         <table-column>ORGANIZATION</table-column>
>       </cmp-field-mapping>
>       <cmp-field-mapping>
>         <cmp-field-name>login</cmp-field-name>
>         <table-column>LOGIN</table-column>
>       </cmp-field-mapping>
>       <cmp-field-mapping>
>         <cmp-field-name>passwordHash</cmp-field-name>
>         <table-column>PASSWORDHASH</table-column>
>       </cmp-field-mapping>
>     </entity>
>     <entity>
>       <ejb-name>CruiseEJB</ejb-name>
>       <table-name>Cruise</table-name>
>       <cmp-field-mapping>
>         <cmp-field-name>id</cmp-field-name>
>         <table-column>ID</table-column>
>       </cmp-field-mapping>
>       <cmp-field-mapping>
>         <cmp-field-name>destination</cmp-field-name>
>         <table-column>DESTINATION</table-column>
>       </cmp-field-mapping>
>     </entity>
>     <entity>
>       <ejb-name>CabinEJB</ejb-name>
>       <table-name>Cabin</table-name>
>       <cmp-field-mapping>
>         <cmp-field-name>id</cmp-field-name>
>         <table-column>ID</table-column>
>       </cmp-field-mapping>
>       <cmp-field-mapping>
>         <cmp-field-name>number</cmp-field-name>
>         <table-column>NUMBER</table-column>
>       </cmp-field-mapping>
>     </entity>
>     <entity>
>       <ejb-name>ReservationEJB</ejb-name>
>       <table-name>Reservation</table-name>
>       <cmp-field-mapping>
>         <cmp-field-name>id</cmp-field-name>
>         <table-column>ID</table-column>
>       </cmp-field-mapping>
> <resource-ref>
>         <ref-name>jdbc/TravelDB</ref-name>
>         <pattern>
>           <groupId>j2g.java</groupId>
>           <artifactId>DefaultDS</artifactId>
>           <name>DefaultDS</name>
>         </pattern>
>     </resource-ref>
>     </entity>
>     <entity>
>       <ejb-name>TicketEJB</ejb-name>
>       <table-name>Ticket</table-name>
>       <cmp-field-mapping>
>         <cmp-field-name>id</cmp-field-name>
>         <table-column>ID</table-column>
>       </cmp-field-mapping>
> <resource-ref>
>         <ref-name>jdbc/TravelDB</ref-name>
>         <pattern>
>           <groupId>j2g.java</groupId>
>           <artifactId>DefaultDS</artifactId>
>           <name>DefaultDS</name>
>         </pattern>
>     </resource-ref>
>     </entity>
>     <message-driven>
>   <ejb-name>ReservationProcessorEJB</ejb-name>
>   <resource-adapter>
>     <resource-link>j2g.queues</resource-link>
>   </resource-adapter>
>   <activation-config>
>     <activation-config-property>
>       <activation-config-property-name>destination</activation- 
> config-property-name>
>       <activation-config-property-value>CabinReservationQueue</ 
> activation-config-property-value>
>     </activation-config-property>
>     <activation-config-property>
>       <activation-config-property-name>destinationType</activation- 
> config-property-name>
>       <activation-config-property-value> javax.jms.Queue</ 
> activation-config-property-value>
>     </activation-config-property>
>   </activation-config>
>   <resource-ref>
>     <ref-name>mail/JavaMailSession</ref-name>
>     <resource-link>mailSession</resource-link>
>   </resource-ref>
> </message-driven>
>   </enterprise-beans>
>   <relationships>
>     <ejb-relation>
>       <ejb-relation-name>Cruise-Cabin</ejb-relation-name>
>       <ejb-relationship-role>
>         <ejb-relationship-role-name>Cruise-has-many-Cabins</ejb- 
> relationship-role-name>
>         <relationship-role-source>
>           <ejb-name>CruiseEJB</ejb-name>
>         </relationship-role-source>
>         <cmr-field>
>           <cmr-field-name>cabins</cmr-field-name>
>         </cmr-field>
>         <role-mapping>
>           <cmr-field-mapping>
>             <key-column>ID</key-column>
>             <foreign-key-column>cruise</foreign-key-column>
>           </cmr-field-mapping>
>         </role-mapping>
>       </ejb-relationship-role>
>     </ejb-relation>
>     <ejb-relation>
>       <ejb-relation-name>Customer-Reservation</ejb-relation-name>
>       <ejb-relationship-role>
>         <ejb-relationship-role-name>Customer-has-many-reservations</ 
> ejb-relationship-role-name>
>         <relationship-role-source>
>           <ejb-name>CustomerEJB</ejb-name>
>         </relationship-role-source>
>         <cmr-field>
>           <cmr-field-name>reservations</cmr-field-name>
>         </cmr-field>
>         <role-mapping>
>           <cmr-field-mapping>
>             <key-column>ID</key-column>
>             <foreign-key-column>customer</foreign-key-column>
>           </cmr-field-mapping>
>         </role-mapping>
>       </ejb-relationship-role>
>     </ejb-relation>
>     <ejb-relation>
>       <ejb-relation-name>Customer-Ticket</ejb-relation-name>
>       <ejb-relationship-role>
>         <ejb-relationship-role-name>Customer-has-many-tickets</ejb- 
> relationship-role-name>
>         <relationship-role-source>
>           <ejb-name>CustomerEJB</ejb-name>
>         </relationship-role-source>
>         <cmr-field>
>           <cmr-field-name>tickets</cmr-field-name>
>         </cmr-field>
>         <role-mapping>
>           <cmr-field-mapping>
>             <key-column>ID</key-column>
>             <foreign-key-column>customer</foreign-key-column>
>           </cmr-field-mapping>
>         </role-mapping>
>       </ejb-relationship-role>
>     </ejb-relation>
>     <ejb-relation>
>       <ejb-relation-name>Ticket-Agent</ejb-relation-name>
>       <ejb-relationship-role>
>         <ejb-relationship-role-name>Ticket-sells-by-agent</ejb- 
> relationship-role-name>
>         <relationship-role-source>
>           <ejb-name>TicketEJB</ejb-name>
>         </relationship-role-source>
>         <cmr-field>
>           <cmr-field-name>agent</cmr-field-name>
>         </cmr-field>
>         <foreign-key-column-on-source/>
>         <role-mapping>
>           <cmr-field-mapping>
>             <key-column>ID</key-column>
>             <foreign-key-column>agent</foreign-key-column>
>           </cmr-field-mapping>
>         </role-mapping>
>       </ejb-relationship-role>
>     </ejb-relation>
>     <ejb-relation>
>       <ejb-relation-name>Ticket-Cruise</ejb-relation-name>
>       <ejb-relationship-role>
>         <ejb-relationship-role-name>Cruise-has-many-tickets</ejb- 
> relationship-role-name>
>         <relationship-role-source>
>           <ejb-name>TicketEJB</ejb-name>
>         </relationship-role-source>
>         <cmr-field>
>           <cmr-field-name>cruise</cmr-field-name>
>         </cmr-field>
>         <foreign-key-column-on-source/>
>         <role-mapping>
>           <cmr-field-mapping>
>             <key-column>ID</key-column>
>             <foreign-key-column>cruise</foreign-key-column>
>           </cmr-field-mapping>
>         </role-mapping>
>       </ejb-relationship-role>
>     </ejb-relation>
>     <ejb-relation>
>       <ejb-relation-name>Ticket-Cabin</ejb-relation-name>
>       <ejb-relationship-role>
>         <ejb-relationship-role-name>Ticket-for-one-cabin</ejb- 
> relationship-role-name>
>         <relationship-role-source>
>           <ejb-name>CabinEJB</ejb-name>
>         </relationship-role-source>
>         <cmr-field>
>           <cmr-field-name>ticket</cmr-field-name>
>         </cmr-field>
>         <role-mapping>
>           <cmr-field-mapping>
>             <key-column>ID</key-column>
>             <foreign-key-column>cabin</foreign-key-column>
>           </cmr-field-mapping>
>         </role-mapping>
>       </ejb-relationship-role>
>     </ejb-relation>
>     <ejb-relation>
>       <ejb-relation-name>Reservation-Cruise</ejb-relation-name>
>       <ejb-relationship-role>
>         <ejb-relationship-role-name>Cruise-has-many-reservations</ 
> ejb-relationship-role-name>
>         <relationship-role-source>
>           <ejb-name>ReservationEJB</ejb-name>
>         </relationship-role-source>
>         <cmr-field>
>           <cmr-field-name>cruise</cmr-field-name>
>         </cmr-field>
>         <foreign-key-column-on-source/>
>         <role-mapping>
>           <cmr-field-mapping>
>             <key-column>ID</key-column>
>             <foreign-key-column>cruise</foreign-key-column>
>           </cmr-field-mapping>
>         </role-mapping>
>       </ejb-relationship-role>
>     </ejb-relation>
>     <ejb-relation>
>       <ejb-relation-name>Reservation-Cabin</ejb-relation-name>
>       <ejb-relationship-role>
>         <ejb-relationship-role-name>Cabin-has-Reservation</ejb- 
> relationship-role-name>
>         <relationship-role-source>
>           <ejb-name>CabinEJB</ejb-name>
>         </relationship-role-source>
>         <cmr-field>
>           <cmr-field-name>reservation</cmr-field-name>
>         </cmr-field>
>         <role-mapping>
>           <cmr-field-mapping>
>             <key-column>ID</key-column>
>             <foreign-key-column>cabin</foreign-key-column>
>           </cmr-field-mapping>
>         </role-mapping>
>       </ejb-relationship-role>
>     </ejb-relation>
>   </relationships>
> </openejb-jar>
>
>
> -- 
> Erik B. Craig


Mime
View raw message