On Wed, Feb 25, 2015 at 2:19 AM, nandy r <nandy0...@yahoo.com.invalid>
wrote:

> Hello,
> I wanted to setup tomcat+hibernate+JOTM+sqlite but could not find any
> information on sqlite setup.
> I did read a document on setting up datasources and also one tomcat
> document relating to mysql, postgresql.
> It appears I need to supply a resource name, auth, factory, driver class
> and url, which could be:
> resource name- any name I want to supply
> auth-does this apply to sqlite????
>

Set this to `Container`.


> factory -whats the factory for sqlite???
>

Omit the `factory` attribute and you'll use the default.  It's almost
certainly what you want.  The factory attribute is used to specify a
different connection pool implementation.  Using the default is OK, unless
you have a strong preference as to which implementation you use.


> driverclass-class of jdbc driver lib
>

This needs to be the name of the JDBC Driver class that you'll use.   I
haven't used SQLite so I can't say what it would be.  This is also one of
the few properties that are specific to your database of choice.


> url-connection string
>

This is the second commonly used property that will be specific to your
database.  You'd need to look at the docs for the SQLite JDBC driver to see
what the URL should look like.  Generally it'll start with "jdbc:...".


>
> So please let me know how to setup the sqlite database and if you have a
> working configuration that would be great!
>

1.) Download your JDBC driver.  Put it into the "lib" directory of your
Tomcat server.
2.) Edit "conf/server.xml".  Locate the <GlobalNamingResources> tag.  Add a
new <Resource/> within this block. [1]
3.) Here's a minimal example, you just need to fill in the blanks.  For
more options, see here [2].

<Resource name="jdbc/<your-jndi-name>"
                   auth="Container"
                   type="javax.sql.DataSource"
                   username="<your-db-user>"
                   password="<your-db-pass>"
                   driverClassName="<driver-class-name>"
                   url="jdbc:... " />

4.) Create a file in the `conf/Catalina/localhost/` directory with the same
name as your application, but with the ".xml" extension.  For example, if
my WAR file is called `superCoolApp.war`.  I'd create
`conf/Catalina/localhost/superCoolApp.xml`.  This will store configuration
specific to your app.  In that file, add the following. [3]

<Context>
    <ResourceLink name="jdbc/<your-jndi-name>"
global="jdbc/<your-jndi-name>" type="javax.sql.DataSource" />
</Context>

This configuration will tell Tomcat that your app is allowed to use the
global Resource we defined above.

5.) Restart your Tomcat server.  This will pick up the changes in
"conf/server.xml".

6.) In your application, use JNDI to retrieve a connect.  Example of this
here [4].

You should also check out the docs here.  While they're not specific to
your database, much of the information is still valid.  Sections like the
"Preventing database connection pool leaks", "Common Problems" and the code
samples for accessing a db connection are not DB specific.

Dan

Alternatively, you can skip steps #2 & #3 above and just put the
<Resource/> tag directly into the `conf/Catalina/localhost` <Context/>
block, in place of the <ResourceLink/> tag.  I prefer the steps above which
create a global, shared resource.  This alternative creates a pool specific
to your app.

[1] -
http://tomcat.apache.org/tomcat-8.0-doc/jndi-resources-howto.html#Global_configuration
[2] - http://commons.apache.org/proper/commons-dbcp/configuration.html
[3] -
http://tomcat.apache.org/tomcat-8.0-doc/config/context.html#Resource_Links
[4] -
http://tomcat.apache.org/tomcat-8.0-doc/jndi-resources-howto.html#Using_resources
[5] -
http://tomcat.apache.org/tomcat-8.0-doc/jndi-datasource-examples-howto.html


> TIA,
> nandy
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: users-h...@tomcat.apache.org
>
>

Reply via email to