intermine / intermine/intermine-ws-java

flush XMLOutputStream buffers?

Đang mở
#3 1 bình luận 0 reaction 0 người được giao Xem trên GitHub
good first issue help wanted
Ngôn ngữ chính
Java
Star
2
Fork
1
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

We have quite a big classpath with various libraries pulled in. One of them is log4j-core 2.8.2, which also pulls in woodstox, which provides a STAX API. As you probably know, Java will use different XML processing classes depending on which jars are actually on the classpath. With the intermine client, you are shipping stax-api-1.0, but much later versions of that API are pulled in for the reasons above. I was able to fix the issue by setting this property prior to fetching data:

```
System.setProperty("javax.xml.stream.XMLOutputFactory", "com.sun.xml.internal.stream.XMLOutputFactoryImpl")
```

This overrides what's available on the classpath, using a basic XMLOutputFactoryImpl, thus bypassing the issue. According to my notes from last time (I may be getting this wrong), it's possible that "the InterMine Java API does not flush its XMLOutputStream buffers, which affects PathQuery.toXml and by extension any results from the QueryService."

I'm pretty sure you should be able to reproduce the problem by adding this to your dependencies:

```



```

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.