fritzprix / yarmi Goto Github PK
View Code? Open in Web Editor NEWyet-another RMI Framework for Java
License: Apache License 2.0
yet-another RMI Framework for Java
License: Apache License 2.0
to support Android device below N
maven test is failing on Travis CI environment, which is not reproduced on my own machine.
java.lang.NullPointerException
at com.doodream.rmovjs.test.ServiceNoReplyTest.startServer(ServiceNoReplyTest.java:28)
[INFO] Running com.doodream.rmovjs.test.EchoBackTest
[ERROR] Tests run: 2, Failures: 0, Errors: 2, Skipped: 0, Time elapsed: 0 s <<< FAILURE! - in com.doodream.rmovjs.test.EchoBackTest
[ERROR] com.doodream.rmovjs.test.EchoBackTest Time elapsed: 0 s <<< ERROR!
java.lang.NullPointerException
at com.doodream.rmovjs.test.EchoBackTest.startServer(EchoBackTest.java:35)
[ERROR] com.doodream.rmovjs.test.EchoBackTest Time elapsed: 0 s <<< ERROR!
java.lang.NullPointerException
at com.doodream.rmovjs.test.EchoBackTest.stopServer(EchoBackTest.java:43)
json is inefficient for binary data exchange due to
Data missed at the end of the stream happens quite often in multi threading situation
If alternative (spf4j) is used the issue has been resolved.
class serialization performed with Class.getName() -> Class.forName()
in this way, there are some cases out of handle
Gson handles json object whose type is ambiguous in runtime by generating generic key value map.
provides RMI proxy which delegates multiple service proxy in order to
W/System.err: Caused by: java.lang.NoSuchMethodError: No virtual method getParameterCount()I in class Ljava/lang/reflect/Constructor; or its super classes (declaration of 'java.lang.reflect.Constructor' appears in /system/framework/core-libart.jar)
W/System.err: at com.doodream.rmovjs.net.tcp.TcpServiceAdapter$3.test(TcpServiceAdapter.java:45)
W/System.err: at com.doodream.rmovjs.net.tcp.TcpServiceAdapter$3.test(TcpServiceAdapter.java:42)
method invoke with null argument was equivalent to invoke with no argument in Java8 (no problem with no-arg method)
method invoke with null argument for no-arg method raise IllegalArgumentException in Java7
originally method invocation has been directly performed by calling RMIClient::invoke method and it was changed to calling call proxy of RMIClient later. however, the invocation has not reflected the change
SimpleServiceDiscovery & SimpleServiceAdvertiser is tested on single host so far, there was no problem. but testing between two host it doesn't work. tried to modify udp related code as below but still doesn't work
creating packet
return new DatagramPacket(infoByteString, infoByteString.length, Inet4Address.getByName("255.255.255.255"), BROADCAST_PORT);
sending it
DatagramSocket socket = new DatagramSocket();
socket.setBroadcast(true);
socket.send(datagramPacket);
socket.close();
receiver
DatagramSocket serviceBroadcastSocket = new DatagramSocket(SimpleServiceAdvertiser.BROADCAST_PORT);
serviceBroadcastSocket.setBroadcast(true);
receiving
byte[] buffer = new byte[64 * 1024];
Arrays.fill(buffer, (byte) 0);
DatagramPacket packet = new DatagramPacket(buffer, buffer.length);
serviceBroadcastSocket.receive(packet);
and tcpdump shows broadcast packet dest address of 255.255.255.255
remove libraries widely adopted in developing application to prevent unnecessary dependency conflict.
list
Hi, I'm a graphic designer and I like to collaborate with open source projects. Do you know that the graphic image of a project is very important? thinking about it I would like to design a logo for your Project Yarmi.
I will be pleased to collaborate with you.
unique key is generated by code below (com.doodream.rmovjs.model.Endpoint)
final String methodLookupKey = String.format("%x%x%x", rmiMethod.hashCode(), controller.path().hashCode(), paramUnique.hashCode()).toUpperCase();
which was actually generate same keys for methods whose RMIMethod declared / parameter / enclosing controller are same.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.