Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?xml version="1.0" encoding="UTF-8" standalone="no"?>
- <beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:p="http://www.springframework.org/schema/p" xmlns:tx="http://www.springframework.org/schema/tx"
- xmlns:context="http://www.springframework.org/schema/context"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://www.springframework.org/schema/beans
- http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
- http://www.springframework.org/schema/tx
- http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
- http://www.springframework.org/schema/context
- http://www.springframework.org/schema/context/spring-context-3.0.xsd">
- <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
- p:driverClassName="com.mysql.jdbc.Driver" p:url="jdbc:mysql://localhost:3306/testSchema"
- p:username="train_together" p:password="..." p:initialSize="5" p:maxActive="10">
- </bean>
- <bean class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"
- id="entityManagerFactory">
- <property name="dataSource" ref="dataSource" />
- <property name="jpaVendorAdapter">
- <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
- <property name="showSql" value="true"/>
- <property name="generateDdl" value="true"/>
- <property name="databasePlatform" value="org.hibernate.dialect.MySQL5Dialect"/>
- </bean>
- </property>
- <property name="jpaProperties">
- <map>
- <entry key="hibernate.hbm2ddl.auto" value="validate" />
- <entry key="hibernate.enable_lazy_load_no_trans" value="true" />
- <entry key="hibernate.connection.release_mode" value="after_transaction" />
- </map>
- </property>
- </bean>
- <bean class="org.springframework.orm.jpa.JpaTransactionManager"
- id="transactionManager">
- <property name="entityManagerFactory" ref="entityManagerFactory" />
- </bean>
- <context:component-scan base-package="com.train"/>
- <context:spring-configured />
- <context:annotation-config />
- <tx:annotation-driven />
- <persistence xmlns="http://java.sun.com/xml/ns/persistence"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
- http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"
- version="1.0">
- <persistence-unit name="JpaPersistenceUnit"
- transaction-type="RESOURCE_LOCAL">
- <provider>org.hibernate.ejb.HibernatePersistence</provider>
- <properties>
- <property name="hibernate" value="thread" />
- </properties>
- </persistence-unit>
- </persistence>
- @GET
- @Path("1")
- public Response test1(@QueryParam("i") @DefaultValue("10") int iterations) {
- String key = UUID.randomUUID().toString().substring(0, 4);
- System.out.println("*************************");
- System.out.println(" request consumed: " + key);
- System.out.println("*************************");
- Thread t1 = new Thread(new Runnable() {
- @Override public void run() {
- try {
- for (int i = 0; i < iterations; i++) {
- System.out.println("*************************");
- System.out.println("tThread: 1 " + key + " iteration: " + (i+1));
- userDao.getUsersOfTypeFromSportClub(UserType.CONTENDER, 1L);
- }
- } catch (Throwable e) {
- System.out.println(Throwables.getStackTraceAsString(e));
- }
- }
- });
- Thread t2 = new Thread(new Runnable() {
- @Override public void run() {
- try {
- for (int i=0; i< iterations; i++) {
- System.out.println("*************************");
- System.out.println("tThread: 2 " + key + " iteration: " + (i+1));
- userDao.getUsersOfTypeFromSportClub(UserType.CONTENDER, 1L);
- }
- } catch (Throwable e) {
- System.out.println(Throwables.getStackTraceAsString(e));
- }
- }
- });
- t1.start();
- t2.start();
- return Response.ok().build();
- }
- public abstract class BaseDao<T> {
- protected EntityManager em;
- protected EntityManagerFactory emf;
- @PersistenceUnit
- public void setEmf(EntityManagerFactory emf) {
- this.emf = emf;
- this.em = emf.createEntityManager();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement