В glassfish перейдите в консоль администратора и в разделе Ресурсы создайте новый пул соединений. Это определяет ваше соединение с базой данных и будет делить пул этих соединений между вашими приложениями. Теперь в JDBC Resources создайте новую запись, которая отображает этот пул на имя. Имя обычно что-то вроде jdbc / myappname.
Для приложения J2EE5 или новее вы можете добавить его в качестве переменной уровня класса:
@ Resource (mappedName = "jdbc / myappname") Источник данных myDS;
Во время выполнения сервер внедрит этот ресурс в ваш пул базы данных. Затем, когда вам нужно соединение, вы можете сделать это внутри любого метода:
Соединение conn = myDS.getConnection ();
В результате вашему коду вообще не нужно заботиться об информации о подключении к базе данных или управлении пулом подключений. Вы можете развернуть идентичный код на серверах разработки и производства, и они получат соответствующее соединение. Чтобы получить инъекцию, это должен быть класс, который сервер создает, например, EJB, сервлет, обработчик библиотеки тегов или управляемый компонент JSF.