|
|
|
struts / spring integration
|
|||
|---|---|---|---|
|
#18+
Есть проект на стратс мвц + спринговые инжекшены. Проблема в том что файл спринга вроде подтягивает проперти но не читает из него ничего..то есть логи в пуле пишутся нулями..null, 0. соответсвенно, пул не инициализируется и тд может подскажет кто - нибудь в чем проблема? может я где-то не так сконфигурировал что? всю ночь бился на этой фигней , не понимаю в чем проблема, стек трейс примерно такой: огромно, просто нечеловеческое спасибо тому, кто поможет! 27-May-2014 11:50:18.389 SEVERE [http-nio-8080-exec-4] org.apache.catalina.core.StandardContext.listenerStart Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'pool' defined in ServletContext resource [/WEB-INF/spring-context.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.factory.BeanDefinitionStoreException: Factory method [public static com.epam.testapp.database.pool.ConnectionPool com.testapp.database.pool.ConnectionPool.getInstance() throws java.lang.RuntimeException] threw exception; nested exception is java.lang.IllegalArgumentException at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:444) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:903) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:817) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:440) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409) at java.security.AccessController.doPrivileged(Native Method) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:429) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:728) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:380) at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:255) at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:199) at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:45) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4738) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5158) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:726) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:702) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:697) at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:579) at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:455) at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1554) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:483) at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:300) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819) at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801) at org.apache.catalina.manager.ManagerServlet.check(ManagerServlet.java:1428) at org.apache.catalina.manager.ManagerServlet.deploy(ManagerServlet.java:885) at org.apache.catalina.manager.ManagerServlet.doGet(ManagerServlet.java:343) at javax.servlet.http.HttpServlet.service(HttpServlet.java:618) at javax.servlet.http.HttpServlet.service(HttpServlet.java:725) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:301) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:108) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:615) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:136) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:74) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:516) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1015) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:652) at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:222) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1575) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1533) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:744) Caused by: org.springframework.beans.factory.BeanDefinitionStoreException: Factory method [public static com.testapp.database.pool.ConnectionPool com.epam.testapp.database.pool.ConnectionPool.getInstance() throws java.lang.RuntimeException] threw exception; nested exception is java.lang.IllegalArgumentException at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:127) at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:435) ... 65 more Caused by: java.lang.IllegalArgumentException at java.util.concurrent.ArrayBlockingQueue.<init>(ArrayBlockingQueue.java:254) at java.util.concurrent.ArrayBlockingQueue.<init>(ArrayBlockingQueue.java:239) at com.testapp.database.pool.ConnectionPool.initPool(ConnectionPool.java:110) at com.testapp.database.pool.ConnectionPool.getInstance(ConnectionPool.java:78) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:483) at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:115) ... 66 more все файлы лежат в веб-инф. есть пул соединений кусок пула Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. конфигурация web.xml web.xml Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. конфигуратор стратс struts-config.xml Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. спринг конфигуратиор spring-context.xml Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. файл пропертей Код: xml 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2014, 13:19 |
|
||
|
struts / spring integration
|
|||
|---|---|---|---|
|
#18+
1) Попробуйте слеш в начале "/WEB-INF/database.properties" http://stackoverflow.com/a/6697866/3492708 2) Рассмотрите вариант выноса файла classpath http://stackoverflow.com/a/5446311/3492708 3) По-хорошему соединение с базой, это конфигурация не вашего приложение, а сервера, где оно установлено. http://rsdn.ru/forum/java/5620853.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2014, 13:27 |
|
||
|
struts / spring integration
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, 3-ий вариант сразу отметается. так как по заднию именно так конфигурировать надо. 1) слеш не помог. да и проблема вроде не в том, что файл не видит, а в том что ничего из него не тащит, на соколько я понимаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2014, 13:46 |
|
||
|
struts / spring integration
|
|||
|---|---|---|---|
|
#18+
alex0213-ий вариант сразу отметается. так как по заднию именно так конфигурировать надо. То "Есть проект", то "по заданию". Так проект есть или задание? Тогда просто на будущее не забывайте что это верный путь отгрести геморроя при Continuous Integration и деплойменту в целом. alex0211) слеш не помог. да и проблема вроде не в том, что файл не видит, а в том что ничего из него не тащит, на соколько я понимаю. Как вы определили в чем именно проблема? Настройте лог на более детальную информацию для "org.springframework." и посмотри что он там про PropertyPlaceholderConfigurer пишет. Кстати, а зачем в конфиге оба варианта указаны и <context:property-placeholder/> и <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"/> По-моему один какой-то лишний. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2014, 13:51 |
|
||
|
struts / spring integration
|
|||
|---|---|---|---|
|
#18+
проектное задание) задание на самом деле. не полез бы я в дебри первого struts, без задания. BlazkowiczКак вы определили в чем именно проблема? когда не видел файл, так и кидал fileNotFound. про оба варината - один закомменчен в коде. видимо, действительно, надо настраивать более подробно логирование. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2014, 14:06 |
|
||
|
struts / spring integration
|
|||
|---|---|---|---|
|
#18+
alex021, попробовал заменить спринг конфиг на Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. такой же резульатт. видимо что-то в конфиге намутил я. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2014, 14:11 |
|
||
|
struts / spring integration
|
|||
|---|---|---|---|
|
#18+
Интересно. Задлянафига было приводить stacktrace, если падает ваш собственный код?.. Бляха от сандаликов! Так вот в чем дело. У вас криво пул написан, а вы и Spring и Struts приплели зачем-то. У вас getInstance() вызывает initPool(), который ожидает что свойствам уже заданы значения. А сфига ли они будут заданы, если это только создания экземпляра. А свойства сконфигурируются после создания экземпляра. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2014, 14:16 |
|
||
|
struts / spring integration
|
|||
|---|---|---|---|
|
#18+
BlazkowiczИнтересно. Задлянафига было приводить stacktrace, если падает ваш собственный код?.. Бляха от сандаликов! Так вот в чем дело. У вас криво пул написан, а вы и Spring и Struts приплели зачем-то. У вас getInstance() вызывает initPool(), который ожидает что свойствам уже заданы значения. А сфига ли они будут заданы, если это только создания экземпляра. А свойства сконфигурируются после создания экземпляра. У меня слезы радости! Пул был ранее мной написан для работы с jdbc без фреймворков, поэтому там и вызывал так. мда, внимательней надо быть. Спасибо Вам нечеловеческое за время и разъяснение! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2014, 14:48 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38653299&tid=2127128]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
61ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
| others: | 238ms |
| total: | 400ms |

| 0 / 0 |
