我在我的AWS Linux微型实例上安装了Tomcat 7和MySQL 5.5。我试图找出如何配置Tomcat 7与MySQL进行通信,但没有运气。我一直是Glassfish的用户,所以通过GUI很简单,但是对于Tomcat,我不知道如何配置它。AWS Linux使用tomcat7配置mysql
我看过Tomcat 7上的Apache文档,但发现自己更加困惑。我不知道我需要编辑哪些文件,我不知道如何编辑它们。我是否需要安装MySQL驱动程序?我使用JDBC还是JNDI?我的应用程序是一个使用Hibernate的Tapestry5应用程序,所以我不确定这是否重要。
有没有人知道一个很好的指导或可以提供我如何做到这一点的示例代码?只是为了记录,我只有几个小时的Linux时间,所以当涉及到与Linux相关的任何事情时,我都非常青睐。
UPDATE
我发现
<!-- <Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
pathname="conf/tomcat-users.xml" />
-->
我使用Hibernate和在hibernate.cfg.xml我使用下面的默认配置下
<hibernate-configuration>
<session-factory>
<property name="hibernate.connection.datasource">jdbc/mydatabase</property>
我评论了上述资源并添加了以下内容,但这似乎也不起作用。我也注意到我不再有权访问tomcat管理器。
<Resource type="javax.sql.DataSource"
name="jdbc/mydatabase"
factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/mysql"
username="root"
password="password"
/>
添加以下到context.xml文件
<ResourceLink type="javax.sql.DataSource"
name="jdbc/mydatabase"
global="jdbc/mydatabase"
有谁知道我在做什么错这个配置?
我得到以下异常
根源
HTTP Status 500 - java.lang.RuntimeException: Exception constructing service 'ValueEncoderSource': Error invoking service
贡献法 org.apache.tapestry5.hibernate.HibernateModule.contributeValueEncoderSource(MappedConfiguration, 布尔,HibernateSessionSource,会议, TypeCoercer,PropertyAccess, LoggerSource):构造异常的服务 'HibernateSessionSource':调用构造函数的错误public org.apache.tapestry5.internal.hibernate.HibernateSessionSourceImpl(org.slf4j.Logger,java.util.List中): 无法找到数据源
javax.naming.NameNotFoundException: Name [jdbc/mydatabase] is not bound in this Context. Unable to find [jdbc].
@JeenavDongre您可能不知道这个答案,但对于为什么我需要使用tomcat将配置设置添加到我的WEB-INF/web.xml中,但对于Glassfish而言,这是不必要的?在Glassfish中,您可以配置JDBC以通过它的GUI在数据库中工作,除了hibernate.cfg.xml中的数据源以外,应用程序中没有设置。我使用Jetty进行本地开发,所以我很关心应用程序中的tomcat设置可能会破坏运行的码头。我不确定情况如何,但我的担忧。 – 2013-03-25 12:36:09
首先,您不会有任何种类的GUI来手动配置您的数据库。这是一个例子。 – 2013-03-25 12:48:55