Java 无法访问Orika class com.sun.proxy

Java 无法访问Orika class com.sun.proxy,java,scala,java-8,orika,Java,Scala,Java 8,Orika,我使用Orika从Akka类型的actor代理实例映射到DTO,然后从DTO实例映射到代理实例 从Akka-typed-actor代理实例到DTO类的映射很好,但是当我得到DTO实例并且我想转换回Akka-typed-actor代理实例时,Orika抛出一个异常 这是我的代码: TestDaoDTO dto = mapper.map(aggregateRoot, TestDaoDTO.class); TestAggregateRoot other = mapper.map(dto

我使用Orika从
Akka类型的actor代理实例映射到
DTO
,然后从
DTO实例映射到
代理实例

Akka-typed-actor代理实例
DTO
类的映射很好,但是当我得到DTO实例并且我想转换回Akka-typed-actor代理实例时,Orika抛出一个异常

这是我的代码:

    TestDaoDTO dto = mapper.map(aggregateRoot, TestDaoDTO.class);
    TestAggregateRoot other = mapper.map(dto, aggregateRoot); --> this mapper fail
AggreagateRoot是一个
类com.sun.proxy.$Proxy178

例外情况是

ma.glasnost.orika.impl.generator.CompilerStrategy$SourceCodeGenerationException: class com.sun.proxy.$Proxy178 is not accessible

您应该将代理打开到“real”类。此代码可用于此目的:

@SuppressWarnings("unchecked")
private <T> T unwrap(T object) throws Exception {
    if (AopUtils.isAopProxy(object) && object instanceof Advised) {
        return (T) ((Advised) object).getTargetSource().getTarget();
    } else {
        return object;
    }
}
@SuppressWarnings(“未选中”)
私有T展开(T对象)引发异常{
if(AopUtils.isAopProxy(对象)&&objectinstanceof adviced){
返回(T)((建议的)对象).getTargetSource().getTarget();
}否则{
返回对象;
}
}

未通过此条件(AopUtils.isAopProxy(object)&&object instanceof adviced),我将编辑我的问题,因为此代理类是Akka类型的参与者,当我提到Spring@paul你可能需要为阿克卡找到类似的东西。谷歌搜索它对我来说没有任何用处,但是你可以尝试用反射来研究代理对象——它实现了什么接口?也许会有一个类似于
adviced
的Akka接口,让您可以访问包装的对象。Np担心这是因为我安装了Orika的自定义映射器