Oh, and in your web.xml's that you ship to your production environment
you would have a different listener setup.

<listener>
      <listener-class>com.yourcompany.ProductionConfiguration</
listener-class>
</listener>


On Dec 13, 11:00 am, Joe Cole <[email protected]> wrote:
> Here is our way:
>
> In:
> tomcat/webapps/ROOT/WEB-INF/web.xml
>
> <resource-ref>
>   <res-ref-name>jdbc/dbsource</res-ref-name>
>   <res-type>javax.sql.DataSource</res-type>
>   <res-auth>Container</res-auth>
> </resource-ref>
> <listener>
>       <listener-class>com.yourcompany.LocalConfiguration</listener-
> class>
> </listener>
>
> The only gotcha with this is that when you upgrade gwt it changes the
> web.xml - we just revert it from version control and all works well.
>
> That listener sets up the entire servlet side, including properties &
> guice bindings:
>
> public class LocalConfiguration extends AbstractConfiguration {
>                 protected IPropertyManager createPropertyManager(
>                                 final ServletContext context) {
>                         return new LocalPropertyManager();
>                 }
>                 public IBindings getBindings() {
>                         return new LocalBindings();
>                 }
>
> }
>
> This allows us to ship different setups to the system depending on
> where it's being used (one for hosted mode, production, test, staging
> etc).
> The datasource is container managed which is why it's defined in the
> file.
>
> The other file you will need for hosted mode is:
> tomcat/conf/gwt/localhost/ROOT.xml
> <Context privileged="true" antiResourceLocking="false"
>                 antiJARLocking="false" debug="1" reloadable="true" path="">
>
>                 <!--  GWT uses Tomcat 5.0.28 - use the 5.0 "style" for
> defining resources -->
>                 <!--  note that you ALSO have to add stuff like commons-
> pool, commons-dbcp
>                           and your JDBC driver to the GWTShell classpath -->
>
>                 <Resource name="jdbc/ToopsterDB" auth="Container"
>                         type="javax.sql.DataSource" />
>
>                 <ResourceParams name="jdbc/dbsource">
>
>                         <parameter>
>                                 <name>factory</name>
>                                 <value>
>
> org.apache.commons.dbcp.BasicDataSourceFactory
>                                 </value>
>                         </parameter>
>
>                         <parameter>
>                                 <name>username</name>
>                                 <value>YOURDBUSERNAME</value>
>                         </parameter>
>                         <parameter>
>                                 <name>password</name>
>                                 <value>SECRET</value>
>                         </parameter>
>                         <parameter>
>                                 <name>driverClassName</name>
>                                 <value>org.postgresql.Driver</value>
>                         </parameter>
>                         <parameter>
>                                 <name>url</name>
>                                 <value>jdbc:postgresql://URL/DB</value>
>                         </parameter>
>
>                 </ResourceParams>
>         </Context>
>
> Let me know if this is useful - it took us a while to get this right,
> and we have used it in multiple deployed apps and it works well.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/Google-Web-Toolkit?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to