EC2中的MySQL,Glassfish和JPA适用于localhost但不适用于生产

时间:2012-04-09 16:15:21

标签: mysql jpa amazon-ec2 glassfish

我在EC2中有一个微实例,所以我安装了MySQL服务器和Glassfish 3开源版本,然后在MySQL中创建users,这样我就可以进行选择,插入,删除等等。

正如你在这里看到的(我正在使用MySQL Workbench来做到这一点): enter image description here enter image description here enter image description here enter image description here enter image description here

我在Glassfish中创建了一个DataSourcePool:

enter image description here enter image description here

这个ConnectionPool在'localhost'中使用用户'root',奇怪的是: 在localhost中一切正常,但是当我进行部署并尝试执行它时,没有任何反应,甚至没有一个例外,server.log生成的glassfish为空。

知道为什么会这样吗?

2 个答案:

答案 0 :(得分:1)

当您在连接池设置屏幕上收到Ping成功消息并且未在日志文件中获取任何内容时,建议我问题不在于您的数据源设置。我可以想到以下事情:

  1. 可能是应用程序未正确部署。你看到有什么错误吗? 在部署时间?
  2. 任何一个应用程序都没有收到任何请求?
  3. 如果应用程序正在获取请求,则持久性单元无法获取 任何加载请求。
  4. 可能是你的日志文件处理搞砸了, 这就是为什么你没有看到任何进入当前日志的原因 文件。您是否看到与其他任何对应的日志语句 活动?如果没有,请尝试重新启动服务器一次。
  5. 你当然可能已经检查了很多上述内容。如果没有,那就试一试。

    我看到你正在进行正确的MySQL设置,但你可以重新确认一些事情,正如我在后面的帖子中建议的那样: Connect to mysql on Amazon EC2 from a remote server

答案 1 :(得分:0)

您没有显示屏幕截图,但我会查看“JDBC资源”部分。 IIRC,您需要从持久性单元到池中的JNDI映射,否则无法访问池。

虽然很奇怪,我仍然期望从失败的JNDI查找或其他一些JPA异常中获得某种异常。您在部署时遇到任何错误吗?

我唯一的另一个问题是你如何确定什么都没发生?我假设您的UI是某种类型的网页。当您尝试加载页面时会发生什么?