Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > Не инициализируется spring context


Автор: 4epT 26.4.2013, 19:55
Всем привет. Имеется конфигурация спринга XML + Annotation.

Код

@Configuration
@ComponentScan(basePackages = "com.core")
@ImportResource("classpath:app-api-conf.xml")
public class SpringConfiguration {
...
}


и

Код

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:metrics="http://www.yammer.com/schema/metrics"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.yammer.com/schema/metrics http://www.yammer.com/schema/metrics/metrics.xsd">

    <metrics:annotation-driven proxy-target-class="true" />

</beans>


При создании бинов сыпится следующие:
Код

[26.04.2013 19:30:43.054] INFO  [] o.s.b.f.x.XmlBeanDefinitionReader - Loading XML bean definitions from class path resource [app-api-conf.xml]
[26.04.2013 19:30:43.099] INFO  [] o.s.c.a.AnnotationConfigApplicationContext - Bean 'com.yammer.metrics.Metrics#0' of type [class com.yammer.metrics.core.MetricsRegistry] 
is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
[26.04.2013 19:30:43.103] INFO  [] o.s.c.a.AnnotationConfigApplicationContext - Bean 'com.yammer.metrics.HealthChecks#0' of type [class com.yammer.metrics.core.HealthCheckRegistry]
 is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
[26.04.2013 19:30:43.123] INFO  [] o.s.b.f.s.DefaultListableBeanFactory - Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@7f0dd76d: defining beans
 [org.springframework.context.annotation.internalConfigurationAnnotationProcessor,
org.springframework.context.annotation.internalAutowiredAnnotationProcessor,
org.springframework.context.annotation.internalRequiredAnnotationProcessor,
org.springframework.context.annotation.internalCommonAnnotationProcessor,springConfiguration,org.springframework.context.annotation.ConfigurationClassPostProcessor.importAwareProcessor,
mongoHealthCheck,redisHealthCheck,rabbitMqMessageListener,rabbitMqSender,redis,redisConnector,entryPointResource,jedis,connectionFactoryFc,
rabbitTemplate,rabbitTemplateFc,listenerContainer,unloadingListener,amqpAdmin,localValidatorFactoryBean,
jedisPool,jedisPoolConfig,connectionFactory,com.yammer.metrics.Metrics#0,com.yammer.metrics.HealthChecks#0,
com.ryantenney.metrics.spring.ExceptionMeteredAnnotationBeanPostProcessor#0,com.ryantenney.metrics.spring.MeteredAnnotationBeanPostProcessor#0,
com.ryantenney.metrics.spring.TimedAnnotationBeanPostProcessor#0,
com.ryantenney.metrics.spring.GaugeAnnotationBeanPostProcessor#0,
com.ryantenney.metrics.spring.HealthCheckBeanPostProcessor#0]; root of factory hierarchy
[26.04.2013 19:30:43.174] INFO  [] o.s.c.a.AnnotationConfigApplicationContext - 
Refreshing org.springframework.context.annotation.AnnotationConfigApplicationContext@a8c337c: startup date [Fri Apr 26 19:30:43 EEST 2013]; root of context hierarchy
[26.04.2013 19:30:43.397] INFO  [] o.s.b.f.x.XmlBeanDefinitionReader - Loading XML bean definitions from class path resource [app-api-conf.xml]
[26.04.2013 19:30:43.445] INFO  [] o.s.c.a.AnnotationConfigApplicationContext - Bean 'com.yammer.metrics.Metrics#0' of type 
[class com.yammer.metrics.core.MetricsRegistry] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)


Гуглил по данному исключению, ничего подходящего не нашел ... в чем может быть проблема ?

Автор: MisterCleric 26.4.2013, 20:14
Привет. А где сыпиться-то?
Не видно ни одного Exception...

Автор: Farmazon 26.4.2013, 23:49
мало конфигов... давай конфиг бинов

Автор: 4epT 27.4.2013, 00:44
Конфиги скину завтра.

Оно точнее не сыпиться, а зависает, логи которые скинул постоянно падают ... как будто все в бесконечном цикле.

Автор: 4epT 29.4.2013, 11:54
applicationXml я привел весь.

Вот конфигурация бинов:

Код

@Bean
    @Scope("prototype")
    public Jedis jedis() throws Exception {
        Jedis jedis = new Jedis(Const.redisConfiguration.getHost());

        return jedis;
    }

    @Bean
    @Scope("singleton")
    public JedisPool jedisPool() throws Exception {

        JedisPool jedisPool = new JedisPool(jedisPoolConfig(), Const.redisConfiguration.getHost());

        return jedisPool;

    }

    @Bean
    @Scope("singleton")
    public JedisPoolConfig jedisPoolConfig() throws Exception {

        JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
        jedisPoolConfig.setMaxActive(Const.redisConfiguration.getRedisConnectionPoolConfiguration().getMaxActive());
        jedisPoolConfig.setMaxIdle(Const.redisConfiguration.getRedisConnectionPoolConfiguration().getMaxIdle());
        jedisPoolConfig.setMinIdle(Const.redisConfiguration.getRedisConnectionPoolConfiguration().getMinIdle());
        jedisPoolConfig.setMaxWait(Const.redisConfiguration.getRedisConnectionPoolConfiguration().getMaxWait());

        return jedisPoolConfig;
    }

    @Bean
    public ConnectionFactory connectionFactory() {
        CachingConnectionFactory connectionFactory = new CachingConnectionFactory(Const.rabbitMqConfiguration.getHost());
        connectionFactory.setUsername(Const.rabbitMqConfiguration.getUser());
        connectionFactory.setPassword(Const.rabbitMqConfiguration.getPwd());
        connectionFactory.setPort(Const.rabbitMqConfiguration.getPort());
        connectionFactory.setVirtualHost(Const.rabbitMqConfiguration.getVirtualHost());
        connectionFactory.setPublisherReturns(true);

        return connectionFactory;
    }
...


Остальные бины находятся через ComponentScan. Например:

Код

@Service
public class MongoHealthCheck extends HealthCheck {

    private TicketDao ticketDao;

    public MongoHealthCheck() {
        super("ticketDao");
        ticketDao = DaoFactory.getTicketDao();
    }

Автор: MisterCleric 29.4.2013, 11:58
Привет.
Как оно себя ведет, если отключить " proxy-target-class" у:
Код

<metrics:annotation-driven proxy-target-class="true" />

Выглядит так, что у тебя где-то нет коннекта к внешним сервиса: Radis, RabbitMQ etc...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)