You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@oozie.apache.org by "Hadoop QA (JIRA)" <ji...@apache.org> on 2011/09/08 06:41:09 UTC
[jira] [Created] (OOZIE-143) GH-117: Refactor DB access to JPA
GH-117: Refactor DB access to JPA
---------------------------------
Key: OOZIE-143
URL: https://issues.apache.org/jira/browse/OOZIE-143
Project: Oozie
Issue Type: Bug
Reporter: Hadoop QA
All JPA access should be done using the following:
public interface JPACommand {
public void call(EntityManager em) throws JPACommandException;
}
//This replaces current StoreService
public class JPAAccessorService implements Service {
private EntityManagerFactory emf;
@Override
public void init(Services services) throws ServiceException {
//create EMF
}
@Override
public void destroy() {
//destroy EMF
}
@Override
public Class<? extends Service> getInterface() {
return JPAAccessorService.class;
}
public void execute(JPACommand jpaCommand) throws JPACommandException {
//all instrumentation is missing here
EntityManager em = emf.createEntityManager();
try {
jpaCommand.call(em);
}
finally {
// check if TRX is open, log WARNING
// rollback TRX
em.close();
}
}
}
Also, JPA named queries should be used ONLY to do SELECT QUERIES. All modifications of bean should be done using
attached beans.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Reopened] (OOZIE-143) GH-117: Refactor DB access to JPA
Posted by "Roman Shaposhnik (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/OOZIE-143?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Roman Shaposhnik reopened OOZIE-143:
------------------------------------
> GH-117: Refactor DB access to JPA
> ---------------------------------
>
> Key: OOZIE-143
> URL: https://issues.apache.org/jira/browse/OOZIE-143
> Project: Oozie
> Issue Type: Bug
> Reporter: Hadoop QA
>
> All JPA access should be done using the following:
> public interface JPACommand {
> public void call(EntityManager em) throws JPACommandException;
> }
> //This replaces current StoreService
> public class JPAAccessorService implements Service {
> private EntityManagerFactory emf;
> @Override
> public void init(Services services) throws ServiceException {
> //create EMF
> }
> @Override
> public void destroy() {
> //destroy EMF
> }
> @Override
> public Class<? extends Service> getInterface() {
> return JPAAccessorService.class;
> }
> public void execute(JPACommand jpaCommand) throws JPACommandException {
> //all instrumentation is missing here
> EntityManager em = emf.createEntityManager();
> try {
> jpaCommand.call(em);
> }
> finally {
> // check if TRX is open, log WARNING
> // rollback TRX
> em.close();
> }
> }
> }
> Also, JPA named queries should be used ONLY to do SELECT QUERIES. All modifications of bean should be done using
> attached beans.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Resolved] (OOZIE-143) GH-117: Refactor DB access to JPA
Posted by "Hadoop QA (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/OOZIE-143?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Hadoop QA resolved OOZIE-143.
-----------------------------
Resolution: Fixed
> GH-117: Refactor DB access to JPA
> ---------------------------------
>
> Key: OOZIE-143
> URL: https://issues.apache.org/jira/browse/OOZIE-143
> Project: Oozie
> Issue Type: Bug
> Reporter: Hadoop QA
>
> All JPA access should be done using the following:
> public interface JPACommand {
> public void call(EntityManager em) throws JPACommandException;
> }
> //This replaces current StoreService
> public class JPAAccessorService implements Service {
> private EntityManagerFactory emf;
> @Override
> public void init(Services services) throws ServiceException {
> //create EMF
> }
> @Override
> public void destroy() {
> //destroy EMF
> }
> @Override
> public Class<? extends Service> getInterface() {
> return JPAAccessorService.class;
> }
> public void execute(JPACommand jpaCommand) throws JPACommandException {
> //all instrumentation is missing here
> EntityManager em = emf.createEntityManager();
> try {
> jpaCommand.call(em);
> }
> finally {
> // check if TRX is open, log WARNING
> // rollback TRX
> em.close();
> }
> }
> }
> Also, JPA named queries should be used ONLY to do SELECT QUERIES. All modifications of bean should be done using
> attached beans.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira