小编Bru*_*vet的帖子

创建一个JAXB Unmarshaller池

我正在四处寻找一种方法来改进处理大量文件的JAXB Unmarshalling性能并找到以下建议:

"如果你真的关心性能,和/或你的应用程序会读取很多小文档,那么创建Unmarshaller可能是一个相对昂贵的操作.在这种情况下,考虑汇集Unmarshaller对象"

谷歌搜索网络找到一个这样的例子没有返回任何东西,所以我认为可能有兴趣将我的实现放在这里使用Spring 3.0和Apache Commons Pool.

UnmarshallerFactory.java

import java.util.HashMap;
import java.util.Map;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import org.apache.commons.pool.KeyedPoolableObjectFactory;
import org.springframework.stereotype.Component;

/**
 * Pool of JAXB Unmarshallers.
 * 
 */
@Component
public class UnmarshallerFactory implements KeyedPoolableObjectFactory {
    // Map of JAXB Contexts
    @SuppressWarnings("rawtypes")
    private final static Map<Object, JAXBContext> JAXB_CONTEXT_MAP = new HashMap<Object, JAXBContext>();

    @Override
    public void activateObject(final Object arg0, final Object arg1) throws Exception {
    }

    @Override
    public void passivateObject(final Object arg0, final Object arg1) throws Exception {
    }

    @Override
    public final …
Run Code Online (Sandbox Code Playgroud)

spring pool jaxb unmarshalling

8
推荐指数
1
解决办法
5658
查看次数

标签 统计

jaxb ×1

pool ×1

spring ×1

unmarshalling ×1