本文整理了Java中com.fasterxml.aalto.AsyncXMLStreamReader.getInputFeeder()
方法的一些代码示例,展示了AsyncXMLStreamReader.getInputFeeder()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。AsyncXMLStreamReader.getInputFeeder()
方法的具体详情如下:
包路径:com.fasterxml.aalto.AsyncXMLStreamReader
类名称:AsyncXMLStreamReader
方法名:getInputFeeder
[英]Method used to access AsyncInputFeeder which is used to provide XML content to parse in non-blocking manner (see AsyncInputFeeder for more details).
[中]用于访问AsyncInputFeeder的方法,该方法用于以非阻塞方式提供要解析的XML内容(有关更多详细信息,请参阅AsyncInputFeeder)。
代码示例来源:origin: spring-projects/spring-framework
public void endOfInput() {
this.streamReader.getInputFeeder().endOfInput();
}
}
代码示例来源:origin: org.springframework/spring-web
public void endOfInput() {
this.streamReader.getInputFeeder().endOfInput();
}
}
代码示例来源:origin: spring-projects/spring-framework
@Override
public Publisher<? extends XMLEvent> apply(DataBuffer dataBuffer) {
try {
this.streamReader.getInputFeeder().feedInput(dataBuffer.asByteBuffer());
List<XMLEvent> events = new ArrayList<>();
while (true) {
if (this.streamReader.next() == AsyncXMLStreamReader.EVENT_INCOMPLETE) {
// no more events with what currently has been fed to the reader
break;
}
else {
XMLEvent event = this.eventAllocator.allocate(this.streamReader);
events.add(event);
if (event.isEndDocument()) {
break;
}
}
}
return Flux.fromIterable(events);
}
catch (XMLStreamException ex) {
return Mono.error(ex);
}
finally {
DataBufferUtils.release(dataBuffer);
}
}
代码示例来源:origin: org.springframework/spring-web
@Override
public Publisher<? extends XMLEvent> apply(DataBuffer dataBuffer) {
try {
this.streamReader.getInputFeeder().feedInput(dataBuffer.asByteBuffer());
List<XMLEvent> events = new ArrayList<>();
while (true) {
if (this.streamReader.next() == AsyncXMLStreamReader.EVENT_INCOMPLETE) {
// no more events with what currently has been fed to the reader
break;
}
else {
XMLEvent event = this.eventAllocator.allocate(this.streamReader);
events.add(event);
if (event.isEndDocument()) {
break;
}
}
}
return Flux.fromIterable(events);
}
catch (XMLStreamException ex) {
return Mono.error(ex);
}
finally {
DataBufferUtils.release(dataBuffer);
}
}
代码示例来源:origin: apache/servicemix-bundles
public void endOfInput() {
this.streamReader.getInputFeeder().endOfInput();
}
}
代码示例来源:origin: org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-web
public void endOfInput() {
this.streamReader.getInputFeeder().endOfInput();
}
}
代码示例来源:origin: georocket/georocket
/**
* Create a new parser that feeds the given buffer into {@link #parser} and
* iterates over generated events
* @param buf the buffer to feed
*/
public StreamEventIterator(Buffer buf) {
byte[] bytes = buf.getBytes();
try {
parser.getInputFeeder().feedInput(bytes, 0, bytes.length);
} catch (XMLStreamException e) {
throw new IllegalStateException("Could not feed input", e);
}
}
代码示例来源:origin: stackoverflow.com
byte[] msg = "<html>Very <b>simple</b> input document!</html>".getBytes();
AsyncXMLStreamReader asyncReader = new InputFactoryImpl().createAsyncXMLStreamReader();
final AsyncInputFeeder feeder = asyncReader.getInputFeeder();
int inputPtr = 0; // as we feed byte at a time
int type = 0;
do {
// May need to feed multiple "segments"
while ((type = asyncReader.next()) == AsyncXMLStreamReader.EVENT_INCOMPLETE) {
feeder.feedInput(msg, inputPtr++, 1);
if (inputPtr >= msg.length) { // to indicate end-of-content (important for error handling)
feeder.endOfInput();
}
}
// and once we have full event, we just dump out event type (for now)
System.out.println("Got event of type: "+type);
// could also just copy event as is, using Stax, or do any other normal non-blocking handling:
// xmlStreamWriter.copyEventFromReader(asyncReader, false);
} while (type != AsyncXMLStreamReader.END_DOCUMENT);
代码示例来源:origin: georocket/georocket
@Override
public Observable<XMLStreamEvent> call(Observable<Buffer> o) {
return o
// first, convert all buffers to XML events
.flatMap(buf -> Observable.from(() -> new StreamEventIterator(buf)))
// finally, close the parser and process remaining events
.concatWith(Observable.from(() -> {
parser.getInputFeeder().endOfInput();
return new StreamEventIterator();
}));
}
代码示例来源:origin: xose/netty-xmpp
@Override
protected Object decode(ChannelHandlerContext ctx, Channel channel, ChannelBuffer buffer) throws Exception {
final List<XMLEvent> result = new ArrayList<XMLEvent>();
byte[] chunk = new byte[buffer.readableBytes()];
buffer.readBytes(chunk);
reader.getInputFeeder().feedInput(chunk, 0, chunk.length);
while (reader.hasNext() && reader.next() != AsyncXMLStreamReader.EVENT_INCOMPLETE) {
result.add(allocator.allocate(reader));
}
return result;
}
代码示例来源:origin: org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-web
@Override
public Publisher<? extends XMLEvent> apply(DataBuffer dataBuffer) {
try {
this.streamReader.getInputFeeder().feedInput(dataBuffer.asByteBuffer());
List<XMLEvent> events = new ArrayList<>();
while (true) {
if (this.streamReader.next() == AsyncXMLStreamReader.EVENT_INCOMPLETE) {
// no more events with what currently has been fed to the reader
break;
}
else {
XMLEvent event = this.eventAllocator.allocate(this.streamReader);
events.add(event);
if (event.isEndDocument()) {
break;
}
}
}
return Flux.fromIterable(events);
}
catch (XMLStreamException ex) {
return Mono.error(ex);
}
finally {
DataBufferUtils.release(dataBuffer);
}
}
代码示例来源:origin: apache/servicemix-bundles
@Override
public Publisher<? extends XMLEvent> apply(DataBuffer dataBuffer) {
try {
this.streamReader.getInputFeeder().feedInput(dataBuffer.asByteBuffer());
List<XMLEvent> events = new ArrayList<>();
while (true) {
if (this.streamReader.next() == AsyncXMLStreamReader.EVENT_INCOMPLETE) {
// no more events with what currently has been fed to the reader
break;
}
else {
XMLEvent event = this.eventAllocator.allocate(this.streamReader);
events.add(event);
if (event.isEndDocument()) {
break;
}
}
}
return Flux.fromIterable(events);
}
catch (XMLStreamException ex) {
return Mono.error(ex);
}
finally {
DataBufferUtils.release(dataBuffer);
}
}
代码示例来源:origin: rocks.xmpp/xmpp-nio-codec
xmlStreamReader.getInputFeeder().feedInput(in);
int type;
while ((type = xmlStreamReader.next()) != XMLStreamConstants.END_DOCUMENT && type != AsyncXMLStreamReader.EVENT_INCOMPLETE) {
代码示例来源:origin: georocket/georocket
xmlInputFactory.createAsyncForByteArray();
byte[] xmlBytes = xml.getBytes(StandardCharsets.UTF_8);
reader.getInputFeeder().feedInput(xmlBytes, 0, xmlBytes.length);
FirstLevelSplitter splitter = new FirstLevelSplitter(window);
List<Result<XMLChunkMeta>> chunks = new ArrayList<>();
内容来源于网络,如有侵权,请联系作者删除!