2016-06-03 1 views
0

У меня есть определенный пользователем услуги в Bluemix (база данных на предпосылке, что не на Bluemix облака), и полномочия выглядит следующим образом:переменные среды чтения с использованием в persistence.xml свойств JPA

System-Provided: 
{ 
"VCAP_SERVICES": { 
    "user-provided": [ 
    { 
    "credentials": { 
    "dbname": "", 
    "host": "", 
    "password": "", 
    "port": "", 
    "username": "" 
    }, 
    "label": "user-provided", 
    "name": "some-service", 
    "syslog_drain_url": "", 
    "tags": [] 
    } 
    ] 
} 
} 

Есть ли способ как-то разобрать JSON и прочитать его в этих свойствах единицы устойчивости?

<properties> 
    <property name="javax.persistence.jdbc.driver" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/> 
    <property name="javax.persistence.jdbc.url" value=''/> 
    <property name="javax.persistence.jdbc.user" value=""/> 
    <property name="javax.persistence.jdbc.password" value=""/> 
</properties> 

ответ

0

При создании EntityManagerFactory вы можете передать пользовательские значения для переопределения сохраняемости файлов, как это:

HashMap<String,String> props=new HashMap<>(); 
props.put("javax.persistence.jdbc.url", "yourUserName"); 
EntityManagerFactory emf=Persistence.createEntityManagerFactory("YourPersistenceUnitPU",props); 

Для разбора JSON можно использовать google gson LIB.