我有一个网络应用程序在java-ee,这是部署在本地和远程与glassfish。我还在我的远程服务器上本地化了一个MySQL数据库。
当我在本地部署我的应用程序时,一切工作正常,并且我的应用程序连接到了我的远程数据库。但是,当我在我的服务器上远程部署时,它可以工作,但我的应用程序没有连接到数据库。
我在我的服务器上使用docker,glassfish在容器中,但mysql不在。我使用payara/ server -full ( glassfish的实例)部署glassfish:
sudo docker run -it -p 4848:4848 -p 8080:8080 payara/server-full我的一个朋友也做了同样的事情,而且效果很好。
发布于 2017-03-15 00:05:25
您可以在任何类型的容器管理对象中使用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);
}
}
}https://stackoverflow.com/questions/42789422
复制相似问题