0
다음 문제 :Spring .NET 생성자가 다른 종속 객체에 의해 생성 된 객체 삽입
RabbitMQ를 사용하여 API에 연결하는 WCF 서비스를 개발 중입니다. 우리는 봄을 DI 컨테이너로 사용합니다.
우리는 소비자 클래스버전 다운 트림 (토끼 MQ + 로깅을위한 몇 가지 사용자 지정 논리) 제작 :
public class Consumer : DefaultBasicConsumer
{
public Consumer(IModel channel)
: base(channel)
{}
}
을 그리고 우리는은 ConnectionManager 클래스가 : 이제
public class ConnectionManager
{
public IModel Channel { get; set; }
public IConnection Connection { get; set; }
private readonly ConnectionFactory _connectionFactory;
public ConnectionManager()
{
_connectionFactory = SetupConnectionFactory();
Connection = _connectionFactory.CreateConnection();
Channel = Connection.CreateModel();
}
}
을 문제는 Spring.NET으로 모든 것을 연결할 때이다. ConnectionManager 클래스의 Channel 속성을 Consumer 생성자에 삽입하려고합니다.
봄 설정 지금까지 (아래 트림) :
<spring>
<context>
<resource uri="config://spring/objects"/>
</context>
<object name="connectionManager" type="Epex.ConnectionManager, EpexData" singleton="true"/>
<object name="consumer" type="Epex.Consumer, EpexData">
<constructor-arg ref="Do something funky here"/>
</object>
</spring>
그래서 내가 여기에 펑키 계십니까 뭔가에 무엇을 배치합니까?
우리는 또한
해결책이 여기에 게시됩니다 http://stackoverflow.com/을 수정할 수 있습니다 다시 소비자 (마지막 옵션)에은 ConnectionManager를 주입 할 수 질문/6739899/spring-net-propertyretrievingfactoryobject-property-is-null. SpEL에서 'PropertyRetrievingFactoryObject' 또는 표현식을 사용할 수 있습니다. 문서 : http://www.springframework.net/doc-latest/reference/html/objects.html#objects-advancedproperty-setting – Andreas