Guest User

Untitled

a guest
Jul 17th, 2018
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.07 KB | None | 0 0
  1. <bean name="moduleExecutorService" class="java.util.concurrent.ThreadPoolExecutor">
  2. <constructor-arg value="1" /> <!-- Minimun # of threads in pool -->
  3. <constructor-arg value="20" /> <!-- Maximum # of threads in pool (pool is a caching pool that will only keep open those necessary) -->
  4. <constructor-arg value="60" /> <!-- Shutdown unused threads after this TimeUnit -->
  5. <constructor-arg>
  6. <bean class="java.util.concurrent.TimeUnit" factory-method="valueOf">
  7. <constructor-arg value="SECONDS" />
  8. </bean>
  9. </constructor-arg>
  10. <constructor-arg type="java.util.concurrent.LinkedBlockingQueue"><bean class="java.util.concurrent.LinkedBlockingQueue" /></constructor-arg>
  11. </bean>
  12.  
  13. 446 [main] DEBUG org.springframework.beans.TypeConverterDelegate - Cannot create copy of Collection type [java.util.concurrent.LinkedBlockingQueue] - injecting original Collection as-is
  14. java.lang.InstantiationException: java.util.concurrent.BlockingQueue
  15.  
  16. public class ThreadPoolExecutorFactory implements FactoryBean
  17. {
  18. private final ReentrantLock lock = new ReentrantLock();
  19. private ThreadPoolExecutor executor;
  20. private int corePoolSize;
  21. private int maximumPoolSize;
  22. private long keepAliveTime;
  23. private TimeUnit unit;
  24.  
  25. public Object getObject()
  26. {
  27. lock.lock();
  28. if (executor == null)
  29. executor = new ThreadPoolExecutor(corePoolSize, maximumPoolSize,
  30. keepAliveTime, unit, new LinkedBlockingQueue<Runnable>());
  31. lock.unlock();
  32. return executor;
  33. }
  34.  
  35. public Class getObjectType()
  36. {
  37. return ThreadPoolExecutor.class;
  38. }
  39.  
  40. public boolean isSingleton()
  41. {
  42. return true;
  43. }
  44. }
  45.  
  46. <bean name="moduleExecutorService" class="ThreadPoolExecutorFactory">
  47. <constructor-arg value="1" />
  48. <constructor-arg value="20" />
  49. <constructor-arg value="60" />
  50. <constructor-arg>
  51. <bean class="java.util.concurrent.TimeUnit" factory-method="valueOf">
  52. <constructor-arg value="SECONDS" />
  53. </bean>
  54. </constructor-arg>
  55. </bean>
Add Comment
Please, Sign In to add comment