Исключение экземпляра Spring bean для коллекции - PullRequest
0 голосов
/ 16 марта 2011

Spring выдает следующее исключение, когда пытается создать экземпляр компонента, который реализует AbstractSet<Channel>.

Не удается создать копию типа Collection [org.jboss.netty.channel.group.DefaultChannelGroup]- впрыскивать оригинальную коллекцию как есть

<bean id="defaultChannelGroup" class="org.jboss.netty.channel.group.DefaultChannelGroup" scope="prototype"></bean>

<bean id="client" class="com.menacheri.Client">
   <property name="id" value="6"></property>
   <property name="gameRoomChannelGroup" ref="defaultChannelGroup"></property>
</bean>

Есть идеи о том, что я делаю неправильно?

1 Ответ

0 голосов
/ 16 марта 2011

Spring 3.0.5, кажется, имеет немного лучшие сообщения об ошибках, я не могу найти тот, который вы предоставили. Вот возможные причины (ошибки из источников Spring):

  • Collection of type [] returned null Iterator
  • Cannot access Collection of type [] - injecting original Collection as-is
  • Cannot create copy of Collection type [] - injecting original Collection as-is
  • Collection type [] seems to be read-only - injecting original Collection as-is

Тем не менее, попробуйте обернуть коллекцию, которую вы пытаетесь добавить, в новую, свежую, как это:

<bean id="wrappedSet" class="java.util.HashSet">
    <constructor-arg>
        <ref bean="defaultChannelGroup"/>
    </constructor-arg>
</bean>

... и вместо этого введите wrappedSet. Может помочь, только предположение.

...