Guest User

Untitled

a guest
Jun 18th, 2018
165
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.30 KB | None | 0 0
  1. Caused by:
  2. org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'dataSource' is defined
  3. at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanDefinition(DefaultListableBeanFactory.java:704)
  4. at org.springframework.beans.factory.support.AbstractBeanFactory.getMergedLocalBeanDefinition(AbstractBeanFactory.java:1175)
  5. at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:284)
  6. at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
  7.  
  8. @Configuration
  9. @EnableWebMvc
  10. @ComponentScan(basePackages = {"com.ourapp.spring"})
  11. @EnableTransactionManagement
  12. @EnableCaching
  13. public class WebConfig extends WebMvcConfigurerAdapter {
  14.  
  15. @Override
  16. public void addArgumentResolvers(List<HandlerMethodArgumentResolver> argumentResolvers) {
  17. }
  18.  
  19.  
  20. @Override
  21. public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
  22. }
  23.  
  24. @Bean
  25. public ReloadableResourceBundleMessageSource messageSource(){
  26. ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
  27. messageSource.setBasename("../resources/locale/messages.properties");
  28. messageSource.setDefaultEncoding("UTF-8");
  29. return messageSource;
  30. }
  31.  
  32. @Bean
  33. public LocaleChangeInterceptor localeInterceptor(){
  34. LocaleChangeInterceptor interceptor = new LocaleChangeInterceptor();
  35. interceptor.setParamName("lang");
  36. return interceptor;
  37. }
  38.  
  39. @Bean
  40. public MappingJackson2HttpMessageConverter converter() {
  41. return new MappingJackson2HttpMessageConverter();
  42. }
  43.  
  44. @Override
  45. public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
  46. configurer.enable();
  47. }
  48.  
  49. @Override
  50. public void addResourceHandlers(ResourceHandlerRegistry registry) {
  51. registry.addResourceHandler("/css/**").addResourceLocations("/css/");
  52. registry.addResourceHandler("/img/**").addResourceLocations("/img/");
  53. registry.addResourceHandler("/js/**").addResourceLocations("/js/");
  54. }
  55.  
  56. @Bean
  57. public InternalResourceViewResolver getInternalResourceViewResolver() {
  58. InternalResourceViewResolver resolver = new InternalResourceViewResolver();
  59. resolver.setPrefix("../webapp/WEB-INF/views/jsp/");
  60. resolver.setSuffix(".jsp");
  61. return resolver;
  62. }
  63.  
  64. @Bean
  65. public DoNotTruncateMyUrls doNotTruncate(){
  66. return new DoNotTruncateMyUrls();
  67. }
  68.  
  69. @Bean
  70. public MultipartResolver multipartResolver() {
  71. return new StandardServletMultipartResolver();
  72. }
  73.  
  74. @Bean
  75. public DataSource getNormalDataSource(){
  76. HikariConfig config = new HikariConfig();
  77. config.setJdbcUrl("jdbc:postgresql://localhost:PORT/DB_NAME");
  78. config.setUsername("USERNAME");
  79. config.setPassword("PASSWORD");
  80. config.addDataSourceProperty("cachePrepStmts", "true");
  81. config.addDataSourceProperty("prepStmtCacheSize", "250");
  82. config.addDataSourceProperty("prepStmtCacheSqlLimit", "2048");
  83. return new HikariDataSource(config);
  84. }
  85.  
  86. @Bean(name = "sessionFactory_origin")
  87. public DataSource getSecondaryDataSource(){
  88. HikariConfig config = new HikariConfig();
  89. config.setJdbcUrl("jdbc:postgresql://localhost:PORT/DB_NAME");
  90. config.setUsername("USERNAME");
  91. config.setPassword("PASSWORD");
  92. config.addDataSourceProperty("cachePrepStmts", "true");
  93. config.addDataSourceProperty("prepStmtCacheSize", "250");
  94. config.addDataSourceProperty("prepStmtCacheSqlLimit", "2048");
  95. return new HikariDataSource(config);
  96. }
  97.  
  98. }
  99.  
  100. public class AppInitializer implements WebApplicationInitializer {
  101. @Override
  102. public void onStartup(ServletContext container) throws ServletException {
  103.  
  104. AnnotationConfigWebApplicationContext context = new
  105. AnnotationConfigWebApplicationContext();
  106. context.register(WebConfig.class);
  107. container.addListener(new ContextLoaderListener(context));
  108. context.setServletContext(container);
  109. ServletRegistration.Dynamic servlet = container.addServlet("dispatcher",
  110. new DispatcherServlet(context));
  111. servlet.setLoadOnStartup(1);
  112. servlet.addMapping("*.");
  113. }
  114. }
  115.  
  116. <beans:bean id="hibernate4AnnotatedSessionFactory_extended"
  117. class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
  118. <beans:property name="dataSource" ref="extended_transactions_data_source"/>
  119. <beans:property name="packagesToScan" value="com.ourapp.spring.model"/>
  120. <beans:property name="hibernateProperties">
  121. <beans:props>
  122. <beans:prop key="hibernate.dialect">org.hibernate.dialect.USERNAMEQL9Dialect</beans:prop>
  123. <beans:prop key="hibernate.show_sql">false</beans:prop>
  124. <beans:prop key="hibernate.jdbc.batch_size">50</beans:prop>
  125. <beans:prop key="hibernate.hbm2ddl.auto">update</beans:prop>
  126. <beans:prop key="cache.use_second_level_cache">true</beans:prop>
  127. <beans:prop key="cache.use_query_cache">true</beans:prop>
  128. <beans:prop key="hibernate.order_updates">true</beans:prop>
  129. <beans:prop key="show_sql">false</beans:prop>
  130. <beans:prop key="connection.release_mode">after_statement</beans:prop>
  131. </beans:props>
  132. </beans:property>
  133. </beans:bean>-->
  134.  
  135.  
  136. <!-- <beans:bean id="extended_transactions_data_source" class="com.zaxxer.hikari.HikariDataSource" destroy-method="close">
  137. <beans:property name="dataSourceClassName" value="org.USERNAMEql.ds.PGSimpleDataSource"/>
  138. <beans:property name="maximumPoolSize" value="5" />
  139. <beans:property name="maxLifetime" value="0" />
  140. <beans:property name="idleTimeout" value="0" />
  141. <beans:property name="connectionTimeout" value="0"/>
  142. <beans:property name="dataSourceProperties">
  143. <beans:props>
  144. <beans:prop key="url">jdbc:USERNAMEql://localhost:5432/DB_NAME</beans:prop>
  145. <beans:prop key="user">USERNAME</beans:prop>
  146. <beans:prop key="password">PASSWORD</beans:prop>
  147. </beans:props>
  148. </beans:property>
  149. </beans:bean>
  150.  
  151.  
  152. <tx:annotation-driven transaction-manager="transactionManager_extended"/>
  153.  
  154. <beans:bean id="transactionManager_extended" class="org.springframework.orm.hibernate4.HibernateTransactionManager">
  155. <beans:property name="sessionFactory" ref="sessionFactory_extended"/>
  156. </beans:bean>
  157.  
  158.  
  159. <beans:bean id="sessionFactory_extended" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
  160. <beans:property name="dataSource" ref="extended_transactions_data_source" />
  161. <beans:property name="packagesToScan" value="com.ourapp.spring.model"/>
  162. <beans:property name="hibernateProperties">
  163. <beans:props>
  164. <beans:prop key="hibernate.dialect">org.hibernate.dialect.USERNAMEQL9Dialect</beans:prop>
  165. <beans:prop key="hibernate.show_sql">false</beans:prop>
  166. <beans:prop key="hibernate.jdbc.batch_size">50</beans:prop>
  167. <beans:prop key="hibernate.hbm2ddl.auto">update</beans:prop>
  168. <beans:prop key="cache.use_second_level_cache">true</beans:prop>
  169. <beans:prop key="cache.use_query_cache">true</beans:prop>
  170. <beans:prop key="hibernate.order_updates">true</beans:prop>
  171. <beans:prop key="show_sql">false</beans:prop>
  172. <beans:prop key="connection.release_mode">after_statement</beans:prop>
  173. </beans:props>
  174. </beans:property>
  175. </beans:bean>-->
  176.  
  177. @Repository
  178. @Transactional
  179. public class RepliesDAOImpl implements RepliesDAO {
  180.  
  181. @Autowired
  182. @Qualifier(value = "sessionFactory_origin")
  183. private final SessionFactory sessionFactory;
  184. @Autowired
  185. @Qualifier(value = "sessionFactory_extended")
  186. private final SessionFactory sessionFactory_extended;
  187. @Autowired
  188. public RepliesDAOImpl(@Qualifier("sessionFactory_origin") SessionFactory sessionFactory, @Qualifier("sessionFactory_extended") SessionFactory sessionFactory_extended) {
  189. this.sessionFactory = sessionFactory;
  190. this.sessionFactory_extended = sessionFactory_extended;
  191. }
  192. //Methods in the class
  193. }
Add Comment
Please, Sign In to add comment