1
我試圖創建一個需要作爲屬性傳遞給其他bean的ThreadPoolExecutor bean。創建bean時出錯,無法將一個新的LinkedBlockingQueue作爲構造函數注入到ThreadPoolExecutor中
我已經定義了以下內容,但創建LinkedBlockingQueue時遇到了一個奇怪的錯誤(如下所示)。
<bean name="moduleExecutorService" class="java.util.concurrent.ThreadPoolExecutor">
<constructor-arg value="1" /> <!-- Minimun # of threads in pool -->
<constructor-arg value="20" /> <!-- Maximum # of threads in pool (pool is a caching pool that will only keep open those necessary) -->
<constructor-arg value="60" /> <!-- Shutdown unused threads after this TimeUnit -->
<constructor-arg>
<bean class="java.util.concurrent.TimeUnit" factory-method="valueOf">
<constructor-arg value="SECONDS" />
</bean>
</constructor-arg>
<constructor-arg type="java.util.concurrent.LinkedBlockingQueue"><bean class="java.util.concurrent.LinkedBlockingQueue" /></constructor-arg>
</bean>
錯誤:
446 [main] DEBUG org.springframework.beans.TypeConverterDelegate - Cannot create copy of Collection type [java.util.concurrent.LinkedBlockingQueue] - injecting original Collection as-is
java.lang.InstantiationException: java.util.concurrent.BlockingQueue
嘗試沒有類型=「...」,或嘗試指定TYPE =「java的.util.concurrent.BlockingQueue」。 –