sistemato timout delle transazioni nell'upload

This commit is contained in:
2015-12-27 10:28:00 +01:00
parent 6b0f74ea88
commit f678e1b787
3 changed files with 74 additions and 21 deletions

View File

@@ -14,13 +14,69 @@
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" exported="" name="Gradle: org.apache.commons:commons-compress:1.9" level="project" />
<orderEntry type="library" exported="" name="Gradle: org.tukaani:xz:1.5" level="project" />
<orderEntry type="library" exported="" name="Gradle: javax:javaee-api:7.0" level="project" />
<orderEntry type="library" exported="" name="Gradle: commons-io:commons-io:2.4" level="project" />
<orderEntry type="library" exported="" name="Gradle: commons-codec:commons-codec:1.10" level="project" />
<orderEntry type="library" exported="" name="Gradle: com.sun.mail:javax.mail:1.5.0" level="project" />
<orderEntry type="library" exported="" name="Gradle: javax.activation:activation:1.1" level="project" />
<orderEntry type="module-library" scope="TEST">
<library name="Gradle: jboss-client">
<CLASSES>
<root url="jar:///opt/wildfly/bin/client/jboss-client.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="library" name="Gradle: org.apache.commons:commons-compress:1.9" level="project" />
<orderEntry type="library" name="Gradle: org.tukaani:xz:1.5" level="project" />
<orderEntry type="library" name="Gradle: javax:javaee-api:7.0" level="project" />
<orderEntry type="library" name="Gradle: commons-io:commons-io:2.4" level="project" />
<orderEntry type="library" name="Gradle: commons-codec:commons-codec:1.10" level="project" />
<orderEntry type="library" name="Gradle: eu.webtoolkit:jwt:3.3.4" level="project" />
<orderEntry type="library" name="Gradle: org.projectlombok:lombok:1.16.4" level="project" />
<orderEntry type="library" name="Gradle: commons-fileupload:commons-fileupload:1.3.1" level="project" />
<orderEntry type="library" name="Gradle: org.ops4j.orient:orient-ra-api:0.3.0" level="project" />
<orderEntry type="library" name="Gradle: com.sun.mail:javax.mail:1.5.0" level="project" />
<orderEntry type="library" name="Gradle: com.orientechnologies:orientdb-object:2.0.1" level="project" />
<orderEntry type="library" name="Gradle: com.orientechnologies:orientdb-graphdb:2.0.1" level="project" />
<orderEntry type="library" name="Gradle: javax.activation:activation:1.1" level="project" />
<orderEntry type="library" name="Gradle: com.orientechnologies:orientdb-core:2.0.1" level="project" />
<orderEntry type="library" name="Gradle: com.orientechnologies:orientdb-server:2.0.1" level="project" />
<orderEntry type="library" name="Gradle: com.orientechnologies:orientdb-tools:2.0.1" level="project" />
<orderEntry type="library" name="Gradle: com.tinkerpop.blueprints:blueprints-core:2.6.0" level="project" />
<orderEntry type="library" name="Gradle: com.tinkerpop.gremlin:gremlin-java:2.6.0" level="project" />
<orderEntry type="library" name="Gradle: com.tinkerpop.gremlin:gremlin-groovy:2.6.0" level="project" />
<orderEntry type="library" name="Gradle: org.xerial.snappy:snappy-java:1.1.0.1" level="project" />
<orderEntry type="library" name="Gradle: com.googlecode.concurrentlinkedhashmap:concurrentlinkedhashmap-lru:1.4.1" level="project" />
<orderEntry type="library" name="Gradle: net.java.dev.jna:jna:4.0.0" level="project" />
<orderEntry type="library" name="Gradle: net.java.dev.jna:jna-platform:4.0.0" level="project" />
<orderEntry type="library" name="Gradle: com.orientechnologies:orientdb-client:2.0.1" level="project" />
<orderEntry type="library" name="Gradle: javax.mail:mail:1.4" level="project" />
<orderEntry type="library" name="Gradle: org.codehaus.jettison:jettison:1.3.3" level="project" />
<orderEntry type="library" name="Gradle: com.fasterxml.jackson.core:jackson-databind:2.2.3" level="project" />
<orderEntry type="library" name="Gradle: com.carrotsearch:hppc:0.6.0" level="project" />
<orderEntry type="library" name="Gradle: commons-configuration:commons-configuration:1.6" level="project" />
<orderEntry type="library" name="Gradle: commons-logging:commons-logging:1.1.1" level="project" />
<orderEntry type="library" name="Gradle: com.tinkerpop:pipes:2.6.0" level="project" />
<orderEntry type="library" name="Gradle: org.apache.ivy:ivy:2.3.0" level="project" />
<orderEntry type="library" name="Gradle: org.codehaus.groovy:groovy:1.8.9" level="project" />
<orderEntry type="library" name="Gradle: org.apache.ant:ant:1.8.3" level="project" />
<orderEntry type="library" name="Gradle: org.fusesource.jansi:jansi:1.5" level="project" />
<orderEntry type="library" name="Gradle: jline:jline:0.9.94" level="project" />
<orderEntry type="library" name="Gradle: com.orientechnologies:orientdb-enterprise:2.0.1" level="project" />
<orderEntry type="library" name="Gradle: org.hibernate.javax.persistence:hibernate-jpa-2.0-api:1.0.0.Final" level="project" />
<orderEntry type="library" name="Gradle: org.javassist:javassist:3.16.1-GA" level="project" />
<orderEntry type="library" name="Gradle: stax:stax-api:1.0.1" level="project" />
<orderEntry type="library" name="Gradle: com.fasterxml.jackson.core:jackson-annotations:2.2.3" level="project" />
<orderEntry type="library" name="Gradle: com.fasterxml.jackson.core:jackson-core:2.2.3" level="project" />
<orderEntry type="library" name="Gradle: commons-collections:commons-collections:3.2.1" level="project" />
<orderEntry type="library" name="Gradle: commons-lang:commons-lang:2.4" level="project" />
<orderEntry type="library" name="Gradle: commons-digester:commons-digester:1.8" level="project" />
<orderEntry type="library" name="Gradle: commons-beanutils:commons-beanutils-core:1.8.0" level="project" />
<orderEntry type="library" name="Gradle: antlr:antlr:2.7.7" level="project" />
<orderEntry type="library" name="Gradle: asm:asm:3.2" level="project" />
<orderEntry type="library" name="Gradle: asm:asm-commons:3.2" level="project" />
<orderEntry type="library" name="Gradle: asm:asm-util:3.2" level="project" />
<orderEntry type="library" name="Gradle: asm:asm-analysis:3.2" level="project" />
<orderEntry type="library" name="Gradle: asm:asm-tree:3.2" level="project" />
<orderEntry type="library" name="Gradle: org.apache.ant:ant-launcher:1.8.3" level="project" />
<orderEntry type="library" name="Gradle: commons-beanutils:commons-beanutils:1.7.0" level="project" />
<orderEntry type="library" scope="TEST" name="Gradle: junit:junit:4.11" level="project" />
<orderEntry type="library" scope="TEST" name="Gradle: com.thoughtworks.xstream:xstream:1.4.8" level="project" />
<orderEntry type="library" scope="TEST" name="Gradle: org.jboss.resteasy:resteasy-jaxrs:3.0.11.Final" level="project" />
@@ -40,22 +96,10 @@
<orderEntry type="library" scope="TEST" name="Gradle: org.codehaus.jackson:jackson-xc:1.9.12" level="project" />
<orderEntry type="library" scope="TEST" name="Gradle: com.sun.xml.bind:jaxb-impl:2.2.7" level="project" />
<orderEntry type="library" scope="TEST" name="Gradle: org.apache.httpcomponents:httpcore:4.2.5" level="project" />
<orderEntry type="library" scope="TEST" name="Gradle: commons-logging:commons-logging:1.1.1" level="project" />
<orderEntry type="library" scope="TEST" name="Gradle: com.sun.xml.bind:jaxb-core:2.2.7" level="project" />
<orderEntry type="library" scope="TEST" name="Gradle: com.sun.xml.fastinfoset:FastInfoset:1.2.12" level="project" />
<orderEntry type="library" scope="TEST" name="Gradle: javax.xml.bind:jaxb-api:2.2.7" level="project" />
<orderEntry type="library" scope="TEST" name="Gradle: com.sun.istack:istack-commons-runtime:2.16" level="project" />
<orderEntry type="library" scope="TEST" name="Gradle: javax.xml.bind:jsr173_api:1.0" level="project" />
<orderEntry type="module-library" scope="TEST">
<library name="Gradle: jboss-client">
<CLASSES>
<root url="jar:///opt/wildfly/bin/client/jboss-client.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="library" exported="" name="Gradle: eu.webtoolkit:jwt:3.3.4" level="project" />
<orderEntry type="library" exported="" name="Gradle: org.projectlombok:lombok:1.16.4" level="project" />
</component>
</module>

View File

@@ -279,7 +279,6 @@ public class PacmanServiceEJB implements PacmanServiceView
{
criteriaQuery.select(builder.count(entity));
}
TypedQuery<Long> query = em.createQuery(criteriaQuery);
return em.createQuery(criteriaQuery).getSingleResult();
}

View File

@@ -10,9 +10,13 @@ import org.jpacrepo.model.PkgName;
import org.jpacrepo.pacbase.Parser;
import org.jpacrepo.persistence.QueryEngine;
import javax.annotation.Resource;
import javax.ejb.Singleton;
import javax.ejb.TransactionManagement;
import javax.ejb.TransactionManagementType;
import javax.inject.Inject;
import javax.persistence.*;
import javax.transaction.UserTransaction;
import javax.ws.rs.*;
import javax.ws.rs.core.*;
import java.io.*;
@@ -26,11 +30,14 @@ import java.util.logging.Logger;
@Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
@Consumes({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
@Singleton
@TransactionManagement(TransactionManagementType.BEAN)
public class PacmanWebService
{
@PersistenceContext(unitName = "jpacrepo_pu")
private EntityManager em;
@Resource
private UserTransaction ut;
@Context
private UriInfo uriInfo;
@@ -187,6 +194,7 @@ public class PacmanWebService
IOUtils.copy(input, fos);
fos.close();
ut.begin();
PkgData pkg = serviceParser.parseFile(file);
TypedQuery<PkgName> nquery = em.createQuery(nameQuery, PkgName.class);
@@ -198,13 +206,15 @@ public class PacmanWebService
}
em.persist(pkg);
log.log(Level.INFO, String.format("Persisiting package %s", pkg.fileName));
log.log(Level.INFO, String.format("Persisting package %s", pkg.fileName));
URI pkgUri = uriInfo.getAbsolutePathBuilder().path(pkg.fileName).build();
ut.commit();
return Response.created(pkgUri).build();
}
catch (Exception e)
{
Files.delete(file.toPath());
ut.rollback();
throw e;
}
}