Spring: ClassCastException: $Proxy6

2 respostas
MrDataFlex
Pessoal, tenho a seguinte configuração:
<!-- Produto DAO -->
	<bean id="produtoDAO"
		class="entries.ProdutoDAOHibernate">
		<property name="sessionFactory">
			<ref local="sessionFactory" />
		</property>
	</bean>

	<bean id="produtoLogic"
		class="logic.entries.ProdutoLogic">
		<property name="produtoDao">
			<ref bean="produtoDAO" />
		</property>
	</bean>

	<bean id="gerenciadorDeTransacoes"
		class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
		<property name="transactionManager">
			<ref local="transactionManager" />
		</property>
		<property name="target">
			<ref local="produtoLogic" />
		</property>
		<property name="transactionAttributes">
			<props>
				<prop key="gravar">
					PROPAGATION_REQUIRED, ISOLATION_SERIALIZABLE
				</prop>
				<prop key="atualizar">
					PROPAGATION_REQUIRED, ISOLATION_SERIALIZABLE
				</prop>
				<prop key="excluir">
					PROPAGATION_REQUIRED, ISOLATION_READ_COMMITTED
				</prop>
			</props>
		</property>
	</bean>

Pq que quando eu tento pegar o bean assim:

ProdutoLogic logic = (ProdutoLogic) context.getBean("gerenciadorDeTransacoes");

Eu me deparo com esta exceção ? O que estou fazendo de errado ? :/

2 Respostas

juniormaverick

MrDataFlex se não estou enganado, quando voce dá um context.getBean(“gerenciadorDeTransacoes”) ele retorna uma instancia da interface ProdutoLogic, ai você tenta realizar o cast para um subtipo, a execeção é lançada.

Exemplo, imagine que tenho um objeto que implementa a interface IUsuarioManager, faço o mapeamento nos arquivos de configuração, crio o get e set na classe que for criar o objeto, ai dou um context em UsuarioManager, ele me retorna na realidade um instancia da interface IUsuarioManager que é implementada pela classe UsuarioManager.

IUsuarioManager usuarioManager = (IUsuarioManager) context.getBean("UsuarioManager");

Acredito que o problema seja este.

fabiofalci

Nao seria isso

?

Criado 15 de abril de 2008
Ultima resposta 15 de abr. de 2008
Respostas 2
Participantes 3