added thread safety to PacmanServiceEJB
changed JNDI name of default datasource
This commit is contained in:
@@ -31,6 +31,7 @@ import java.util.logging.Logger;
|
||||
@Startup
|
||||
@Singleton
|
||||
@TransactionManagement(TransactionManagementType.BEAN)
|
||||
@ConcurrencyManagement(ConcurrencyManagementType.CONTAINER)
|
||||
public class PacmanServiceEJB implements PacmanServiceView
|
||||
{
|
||||
@PersistenceContext(unitName = "jpacrepo_pu")
|
||||
@@ -49,8 +50,8 @@ public class PacmanServiceEJB implements PacmanServiceView
|
||||
private Logger logger = Logger.getLogger(PacmanServiceEJB.class.getName());
|
||||
|
||||
|
||||
private String nameQuery = "SELECT pname FROM PkgName pname WHERE id = :name";
|
||||
private String hashQuery = "SELECT pdata FROM PkgData pdata WHERE md5sum = :md5sum";
|
||||
private final String nameQuery = "SELECT pname FROM PkgName pname WHERE id = :name";
|
||||
private final String hashQuery = "SELECT pdata FROM PkgData pdata WHERE md5sum = :md5sum";
|
||||
|
||||
private Map<String, PkgData> knownPkg;
|
||||
|
||||
@@ -143,6 +144,7 @@ public class PacmanServiceEJB implements PacmanServiceView
|
||||
}
|
||||
|
||||
@Override
|
||||
@Lock(LockType.READ)
|
||||
public void deletePackage(String filename) throws Exception
|
||||
{
|
||||
ut.begin();
|
||||
@@ -219,7 +221,7 @@ public class PacmanServiceEJB implements PacmanServiceView
|
||||
}
|
||||
|
||||
|
||||
private String deleteQuery = "SELECT p.fileName FROM PkgData p WHERE p.buildDate < :cutoff and p.name.id in \n" +
|
||||
private final String deleteQuery = "SELECT p.fileName FROM PkgData p WHERE p.buildDate < :cutoff and p.name.id in \n" +
|
||||
"(SELECT p2.name.id FROM PkgData p2 GROUP BY p2.name.id HAVING count(p2.name.id) > :minVersions\n)";
|
||||
|
||||
private void deleteOld()
|
||||
@@ -244,6 +246,7 @@ public class PacmanServiceEJB implements PacmanServiceView
|
||||
}
|
||||
|
||||
@Override
|
||||
@Lock(LockType.READ)
|
||||
public long countResults(String name, String version, String arch)
|
||||
{
|
||||
CriteriaBuilder builder;
|
||||
@@ -283,6 +286,7 @@ public class PacmanServiceEJB implements PacmanServiceView
|
||||
}
|
||||
|
||||
@Override
|
||||
@Lock(LockType.READ)
|
||||
public<T> List<T> listProperty(String property, Map<String,String> equalityConditions, Class<T> cls)
|
||||
{
|
||||
CriteriaBuilder builder = em.getCriteriaBuilder();
|
||||
@@ -324,6 +328,7 @@ public class PacmanServiceEJB implements PacmanServiceView
|
||||
|
||||
|
||||
@Override
|
||||
@Lock(LockType.READ)
|
||||
public List<PkgData> searchPackage(String name, String version, String arch, int pageNumber, int pageSize)
|
||||
{
|
||||
CriteriaBuilder builder;
|
||||
|
@@ -5,7 +5,7 @@
|
||||
version="2.1">
|
||||
|
||||
<persistence-unit name="jpacrepo_pu" transaction-type="JTA">
|
||||
<jta-data-source>java:/odroid-c1</jta-data-source>
|
||||
<jta-data-source>java:/PostgresDS</jta-data-source>
|
||||
<properties>
|
||||
<!--<property name="javax.persistence.schema-generation.database.action" value="drop-and-create"/>-->
|
||||
<property name="javax.persistence.schema-generation.database.action" value="none"/>
|
||||
|
Reference in New Issue
Block a user