Open Liberty — это новый интересный сервер приложений OSS Java EE, созданный в WebSphere Liberty. Вы можете настроить Open Liberty для использования PostgreSQL в качестве источника данных по умолчанию следующим образом:
Добавьте директивы для <datasource> , <jdbcDriver> и <library> в конфигурацию server.xml :
|
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
<?xml version="1.0" encoding="UTF-8"?><server description="OpenLiberty Java EE 8 Server"> <featureManager> <feature>javaee-7.0</feature> </featureManager> <httpEndpoint id="defaultHttpEndpoint" host="*" httpPort="9080" httpsPort="9443"/> <keyStore id="defaultKeyStore" password="Liberty"/> <!-- Postgres coffee-shop-db definition --> <dataSource id="DefaultDataSource" jndiName="jdbc/sample" jdbcDriverRef="postgresql-driver" type="javax.sql.ConnectionPoolDataSource" transactional="true"> <properties serverName="coffee-shop-db" portNumber="5432" databaseName="postgres" user="postgres" password="postgres"/> </dataSource> <jdbcDriver id="postgresql-driver" javax.sql.XADataSource="org.postgresql.xa.PGXADataSource" javax.sql.ConnectionPoolDataSource="org.postgresql.ds.PGConnectionPoolDataSource" libraryRef="postgresql-library"/> <library id="postgresql-library"> <fileset id="PostgreSQLFileset" dir="/opt/ol/wlp/lib" includes="postgresql-9.4-1201.jar"/> </library></server> |
Доступ к базе данных, доступной через host coffee-shop-db будет осуществляться через стандартный порт 5432 Postgres с postgres качестве имени базы данных, имени пользователя и пароля.
Библиотека драйверов, здесь postgresql-9.4-1201.jar , должна находиться в каталоге lib/ установки сервера.
Источник данных по умолчанию может использоваться прозрачно из приложения Java EE. В файле persistence.xml необходимо указать только одну единицу persistence.xml , аналогично следующему фрагменту:
|
1
2
3
4
5
6
7
8
9
|
<?xml version="1.0" encoding="UTF-8"?> xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence <persistence-unit name="prod" transaction-type="JTA"/></persistence> |
Если приложение включает в себя несколько баз данных, единицы сохранения должны указывать имена JNDI их соответствующего источника данных.
Протестировано с официальным изображением Docker open-liberty:javaee7 .
| Опубликовано на Java Code Geeks с разрешения Себастьяна Дашнера, партнера нашей программы JCG. Смотрите оригинальную статью здесь: PostgreSQL на Open Liberty
Мнения, высказанные участниками Java Code Geeks, являются их собственными. |