にキャストすることはできません私のキャスト?java.lang.Objectのは、私はこのコードを持っている私のアプリではjava.nio.channels.SocketChannel
public class SamplePoolableObjectFactory implements PoolableObjectFactory{
private final static Log log = LogFactory.getLog(SamplePoolableObjectFactory.class);
/* (non-Javadoc)
* @see org.apache.commons.pool.PoolableObjectFactory#activateObject(java.lang.Object)
*/
public void activateObject(Object obj) throws Exception {
log.debug("Activate object ..." + obj.hashCode());
}
/* (non-Javadoc)
* @see org.apache.commons.pool.PoolableObjectFactory#destroyObject(java.lang.Object)
*/
public void destroyObject(Object obj) throws Exception {
log.debug("Destroy object ..." + obj.hashCode());
obj = null;
}
/* (non-Javadoc)
* @see org.apache.commons.pool.PoolableObjectFactory#makeObject()
*/
public Object makeObject() throws Exception {
Object obj = new Object();
log.debug("Make object ..." + obj.hashCode());
return obj;
}
/* (non-Javadoc)
* @see org.apache.commons.pool.PoolableObjectFactory#passivateObject(java.lang.Object)
*/
public void passivateObject(Object obj) throws Exception {
log.debug("Passivate object ..." + obj.hashCode());
}
/* (non-Javadoc)
* @see org.apache.commons.pool.PoolableObjectFactory#validateObject(java.lang.Object)
*/
public boolean validateObject(Object obj) {
log.debug("Validate object ..." + obj.hashCode());
return false;
}
}
と
public class SampleObjectPool extends GenericObjectPool {
private final static Log log = LogFactory.getLog(SampleObjectPool.class);
/**
* Constructor
* @param factory
*/
public SampleObjectPool(PoolableObjectFactory factory) {
super(factory);
log.debug("New pool created with factory ...");
}
/**
* Constructor
* @param factory
* @param config
*/
public SampleObjectPool(PoolableObjectFactory factory, Config config) {
super(factory, config);
log.debug("New pool created with factory and config ...");
}
/* (non-Javadoc)
* @see org.apache.commons.pool.ObjectPool#addObject()
*/
public void addObject() throws Exception {
log.debug("Add an object ...");
super.addObject();
}
/* (non-Javadoc)
* @see org.apache.commons.pool.ObjectPool#borrowObject()
*/
public Object borrowObject() throws Exception {
log.debug("Borrow an object ...");
return super.borrowObject();
}
/* (non-Javadoc)
* @see org.apache.commons.pool.ObjectPool#invalidateObject(java.lang.Object)
*/
public void invalidateObject(Object obj) throws Exception {
log.debug("Invalidate an object ...");
super.invalidateObject(obj);
}
/* (non-Javadoc)
* @see org.apache.commons.pool.ObjectPool#returnObject(java.lang.Object)
*/
public void returnObject(Object obj) throws Exception {
log.debug("Return an object ...");
super.returnObject(obj);
}
}
キャストに何も問題ありません。あなたのオブジェクトファクトリは単に 'SocketChannel'オブジェクトを返すのではなく、通常の' java.lang.Object'オブジェクトを返します。 – Kayaman
@Kayaman私の工場はこの 'public class SamplePoolableObjectFactoryはPoolableObjectFactory'を実装しています – Mercer
なぜ' Object'sを返すのですか? – Kayaman