intermine / intermine/intermine-ws-java

flush XMLOutputStream buffers?

オープン
#3 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る
good first issue help wanted
主要言語
Java
スター
2
フォーク
1
PR マージ指標
30日以内にマージされた PR はありません

説明

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:

```



```

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。