远程Glassfish无法连接到MySQL

时间:2017-03-14 14:58:17

标签: mysql java-ee docker glassfish

我在java-ee中有一个web应用程序,它部署localy并远程使用glassfish。 我的远程服务器上也有一个MySQL数据库。

当我部署我的应用程序时,一切正常,我的应用程序连接到我的远程数据库。但是,当我在我的服务器上远程部署时,它可以工作,但我的应用程序没有连接到数据库。

我在我的服务器上使用docker,glassfish在容器中,但mysql不是。 我使用payara / server-full(glassfish实例)部署glassfish:

sudo docker run -it -p 4848:4848 -p 8080:8080 payara/server-full

我的一个朋友做同样的事情并且运作良好。

1 个答案:

答案 0 :(得分:0)

您可以在任何类型的容器管理对象中使用DI。首先,您必须在应用服务器中注册连接(使用IDE或管理控制台:4848)无状态会话bean只是一个示例。

package mypackage;

imports 

@Stateless
public class MyBean
{
    @Resource(lookup = "java:/app/registered_datasource_name")
    private DataSource dataSource;

    public void businessMethod()
    {
      try ( Connection connection = dataSource.getConnection() )
      {
        // Work with connection here
      }
      catch (SQLException e)
      {
        throw new SomeRuntimeException(e);
      }
    }

}