강의

멘토링

커뮤니티

Inflearn Community Q&A

vixx1706271034's profile image
vixx1706271034

asked

Spring Batch

XML StaxEventItemReader - Example

Xstream 관련 ForbiddenClassException 또는 CannotResolveClassException 해결방법

Written on

·

585

2

XStream 버전이 올라가면서 보안 관련 문제로 실습이 제대로 안되는 문제가 있었습니다.

간단하게 실습 자체만 하고 싶으신 분들은 XStream 모듈 버전을 낮추시면 됩니다.

implementation 'com.thoughtworks.xstream:xstream:1.4.16'

 

저의 경우 그렇게 하기는 싫어서 다른 방식으로 문제를 해결했습니다.

    public Unmarshaller itemUnmarshaller() {
        final Map<String, Class<?>> aliases = new HashMap<>();
        aliases.put("customer", Customer.class);
        aliases.put("id", Long.class);
        aliases.put("name", String.class);
        aliases.put("age", Integer.class);

        final XStreamMarshaller xStreamMarshaller = new XStreamMarshaller();
        final XStream stream = xStreamMarshaller.getXStream();
        stream.alias("customer", Customer.class); // CannotResolveClassException 해결방안
        stream.addPermission(AnyTypePermission.ANY); // ForbiddenClassException 해결방안
        xStreamMarshaller.setAliases(aliases);
        return xStreamMarshaller;
    }

와 같이 진행했을 때 저의 경우 문제 없이 작동했습니다.

staxeventitemreaderspring-bootxstreamspring-batch

Answer 2

2

leaven님의 프로필 이미지
leaven
Instructor

감사드립니다

0

감사합니다~

vixx1706271034's profile image
vixx1706271034

asked

Ask a question