You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tika.apache.org by ju...@apache.org on 2011/01/18 16:22:19 UTC
svn commit: r1060414 - in
/tika/trunk/tika-core/src/main/java/org/apache/tika/fork: ForkClient.java
ForkServer.java
Author: jukka
Date: Tue Jan 18 15:22:19 2011
New Revision: 1060414
URL: http://svn.apache.org/viewvc?rev=1060414&view=rev
Log:
TIKA-416: Out-of-process text extraction
Minor improvements
Modified:
tika/trunk/tika-core/src/main/java/org/apache/tika/fork/ForkClient.java
tika/trunk/tika-core/src/main/java/org/apache/tika/fork/ForkServer.java
Modified: tika/trunk/tika-core/src/main/java/org/apache/tika/fork/ForkClient.java
URL: http://svn.apache.org/viewvc/tika/trunk/tika-core/src/main/java/org/apache/tika/fork/ForkClient.java?rev=1060414&r1=1060413&r2=1060414&view=diff
==============================================================================
--- tika/trunk/tika-core/src/main/java/org/apache/tika/fork/ForkClient.java (original)
+++ tika/trunk/tika-core/src/main/java/org/apache/tika/fork/ForkClient.java Tue Jan 18 15:22:19 2011
@@ -76,7 +76,8 @@ class ForkClient {
public synchronized void call(String method, Object... args)
throws IOException {
List<ForkResource> r = new ArrayList<ForkResource>(resources);
- output.writeUTF("parse");
+ output.writeByte(ForkServer.CALL);
+ output.writeUTF(method);
for (int i = 0; i < args.length; i++) {
sendObject(args[i], r);
}
Modified: tika/trunk/tika-core/src/main/java/org/apache/tika/fork/ForkServer.java
URL: http://svn.apache.org/viewvc/tika/trunk/tika-core/src/main/java/org/apache/tika/fork/ForkServer.java?rev=1060414&r1=1060413&r2=1060414&view=diff
==============================================================================
--- tika/trunk/tika-core/src/main/java/org/apache/tika/fork/ForkServer.java (original)
+++ tika/trunk/tika-core/src/main/java/org/apache/tika/fork/ForkServer.java Tue Jan 18 15:22:19 2011
@@ -106,18 +106,21 @@ class ForkServer implements Runnable, Ch
Object object = readObject(loader);
while (true) {
int request = input.read();
- if (request == CALL) {
+ if (request == -1) {
+ break;
+ } else if (request == CALL) {
Method method = getMethod(object, input.readUTF());
- Object[] args = new Object[method.getParameterTypes().length];
+ Object[] args =
+ new Object[method.getParameterTypes().length];
for (int i = 0; i < args.length; i++) {
args[i] = readObject(loader);
}
method.invoke(object, args);
- } else if (request != PING) {
-
+ output.write(DONE);
+ output.flush();
+ } else {
+ throw new IllegalStateException("Unexpected request");
}
- output.write(DONE);
- output.flush();
}
} catch (Throwable t) {
t.printStackTrace();