Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Caused by:
- org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'dataSource' is defined
- at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanDefinition(DefaultListableBeanFactory.java:704)
- at org.springframework.beans.factory.support.AbstractBeanFactory.getMergedLocalBeanDefinition(AbstractBeanFactory.java:1175)
- at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:284)
- at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
- @Configuration
- @EnableWebMvc
- @ComponentScan(basePackages = {"com.ourapp.spring"})
- @EnableTransactionManagement
- @EnableCaching
- public class WebConfig extends WebMvcConfigurerAdapter {
- @Override
- public void addArgumentResolvers(List<HandlerMethodArgumentResolver> argumentResolvers) {
- }
- @Override
- public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
- }
- @Bean
- public ReloadableResourceBundleMessageSource messageSource(){
- ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
- messageSource.setBasename("../resources/locale/messages.properties");
- messageSource.setDefaultEncoding("UTF-8");
- return messageSource;
- }
- @Bean
- public LocaleChangeInterceptor localeInterceptor(){
- LocaleChangeInterceptor interceptor = new LocaleChangeInterceptor();
- interceptor.setParamName("lang");
- return interceptor;
- }
- @Bean
- public MappingJackson2HttpMessageConverter converter() {
- return new MappingJackson2HttpMessageConverter();
- }
- @Override
- public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
- configurer.enable();
- }
- @Override
- public void addResourceHandlers(ResourceHandlerRegistry registry) {
- registry.addResourceHandler("/css/**").addResourceLocations("/css/");
- registry.addResourceHandler("/img/**").addResourceLocations("/img/");
- registry.addResourceHandler("/js/**").addResourceLocations("/js/");
- }
- @Bean
- public InternalResourceViewResolver getInternalResourceViewResolver() {
- InternalResourceViewResolver resolver = new InternalResourceViewResolver();
- resolver.setPrefix("../webapp/WEB-INF/views/jsp/");
- resolver.setSuffix(".jsp");
- return resolver;
- }
- @Bean
- public DoNotTruncateMyUrls doNotTruncate(){
- return new DoNotTruncateMyUrls();
- }
- @Bean
- public MultipartResolver multipartResolver() {
- return new StandardServletMultipartResolver();
- }
- @Bean
- public DataSource getNormalDataSource(){
- HikariConfig config = new HikariConfig();
- config.setJdbcUrl("jdbc:postgresql://localhost:PORT/DB_NAME");
- config.setUsername("USERNAME");
- config.setPassword("PASSWORD");
- config.addDataSourceProperty("cachePrepStmts", "true");
- config.addDataSourceProperty("prepStmtCacheSize", "250");
- config.addDataSourceProperty("prepStmtCacheSqlLimit", "2048");
- return new HikariDataSource(config);
- }
- @Bean(name = "sessionFactory_origin")
- public DataSource getSecondaryDataSource(){
- HikariConfig config = new HikariConfig();
- config.setJdbcUrl("jdbc:postgresql://localhost:PORT/DB_NAME");
- config.setUsername("USERNAME");
- config.setPassword("PASSWORD");
- config.addDataSourceProperty("cachePrepStmts", "true");
- config.addDataSourceProperty("prepStmtCacheSize", "250");
- config.addDataSourceProperty("prepStmtCacheSqlLimit", "2048");
- return new HikariDataSource(config);
- }
- }
- public class AppInitializer implements WebApplicationInitializer {
- @Override
- public void onStartup(ServletContext container) throws ServletException {
- AnnotationConfigWebApplicationContext context = new
- AnnotationConfigWebApplicationContext();
- context.register(WebConfig.class);
- container.addListener(new ContextLoaderListener(context));
- context.setServletContext(container);
- ServletRegistration.Dynamic servlet = container.addServlet("dispatcher",
- new DispatcherServlet(context));
- servlet.setLoadOnStartup(1);
- servlet.addMapping("*.");
- }
- }
- <beans:bean id="hibernate4AnnotatedSessionFactory_extended"
- class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
- <beans:property name="dataSource" ref="extended_transactions_data_source"/>
- <beans:property name="packagesToScan" value="com.ourapp.spring.model"/>
- <beans:property name="hibernateProperties">
- <beans:props>
- <beans:prop key="hibernate.dialect">org.hibernate.dialect.USERNAMEQL9Dialect</beans:prop>
- <beans:prop key="hibernate.show_sql">false</beans:prop>
- <beans:prop key="hibernate.jdbc.batch_size">50</beans:prop>
- <beans:prop key="hibernate.hbm2ddl.auto">update</beans:prop>
- <beans:prop key="cache.use_second_level_cache">true</beans:prop>
- <beans:prop key="cache.use_query_cache">true</beans:prop>
- <beans:prop key="hibernate.order_updates">true</beans:prop>
- <beans:prop key="show_sql">false</beans:prop>
- <beans:prop key="connection.release_mode">after_statement</beans:prop>
- </beans:props>
- </beans:property>
- </beans:bean>-->
- <!-- <beans:bean id="extended_transactions_data_source" class="com.zaxxer.hikari.HikariDataSource" destroy-method="close">
- <beans:property name="dataSourceClassName" value="org.USERNAMEql.ds.PGSimpleDataSource"/>
- <beans:property name="maximumPoolSize" value="5" />
- <beans:property name="maxLifetime" value="0" />
- <beans:property name="idleTimeout" value="0" />
- <beans:property name="connectionTimeout" value="0"/>
- <beans:property name="dataSourceProperties">
- <beans:props>
- <beans:prop key="url">jdbc:USERNAMEql://localhost:5432/DB_NAME</beans:prop>
- <beans:prop key="user">USERNAME</beans:prop>
- <beans:prop key="password">PASSWORD</beans:prop>
- </beans:props>
- </beans:property>
- </beans:bean>
- <tx:annotation-driven transaction-manager="transactionManager_extended"/>
- <beans:bean id="transactionManager_extended" class="org.springframework.orm.hibernate4.HibernateTransactionManager">
- <beans:property name="sessionFactory" ref="sessionFactory_extended"/>
- </beans:bean>
- <beans:bean id="sessionFactory_extended" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
- <beans:property name="dataSource" ref="extended_transactions_data_source" />
- <beans:property name="packagesToScan" value="com.ourapp.spring.model"/>
- <beans:property name="hibernateProperties">
- <beans:props>
- <beans:prop key="hibernate.dialect">org.hibernate.dialect.USERNAMEQL9Dialect</beans:prop>
- <beans:prop key="hibernate.show_sql">false</beans:prop>
- <beans:prop key="hibernate.jdbc.batch_size">50</beans:prop>
- <beans:prop key="hibernate.hbm2ddl.auto">update</beans:prop>
- <beans:prop key="cache.use_second_level_cache">true</beans:prop>
- <beans:prop key="cache.use_query_cache">true</beans:prop>
- <beans:prop key="hibernate.order_updates">true</beans:prop>
- <beans:prop key="show_sql">false</beans:prop>
- <beans:prop key="connection.release_mode">after_statement</beans:prop>
- </beans:props>
- </beans:property>
- </beans:bean>-->
- @Repository
- @Transactional
- public class RepliesDAOImpl implements RepliesDAO {
- @Autowired
- @Qualifier(value = "sessionFactory_origin")
- private final SessionFactory sessionFactory;
- @Autowired
- @Qualifier(value = "sessionFactory_extended")
- private final SessionFactory sessionFactory_extended;
- @Autowired
- public RepliesDAOImpl(@Qualifier("sessionFactory_origin") SessionFactory sessionFactory, @Qualifier("sessionFactory_extended") SessionFactory sessionFactory_extended) {
- this.sessionFactory = sessionFactory;
- this.sessionFactory_extended = sessionFactory_extended;
- }
- //Methods in the class
- }
Add Comment
Please, Sign In to add comment