I Use This!
Very Low Activity
Analyzed about 3 hours ago. based on code collected about 3 hours ago.

Project Summary

jsonrpc4j - JSON-RPC for JavaThis project aims to provide the facility to easily implement JSON-RPC for the java programming language. At the heart of jsonrpc4j is JsonEngine. JsonEngine is used to convert java objects to and from json objects (and other things related to JSON-RPC). JsonEngine is an interface and therefore makes the underlying JSON implementation pluggable. Currently the only implementation available uses Jackson (JacksonJsonEngine).

What's Missing?Here's a list of things that need to be implemented:

GET support as per the spec (currently only POST is supported) Create portable javascript library

MavenThis project is built with Maven. Be sure to check the pom.xml for the dependencies if you're not using maven. If you're already using spring you should have most (if not all) of the dependencies already - outside of maybe the Jackson library. The jsonrpc4j maven repository is located at http://jsonrpc4j.googlecode.com/svn/maven/repo/. Add the following to your pom.xml if you're using maven:

In :

jsonrpc4j maven repository
In :

JSON-RPC specificationThere doesn't seem to be an official source for the JSON-RPC specification. With that said, the guys over at json-rpc google group seem to be fairly active so the specification that they've outlined is what was used.

Spring Frameworkjsonrpc4j provides a RemoteExporter to expose java services as JSON-RPC over HTTP without requiring any additional work on the part of the programmer. The following example explains how to use the JsonServiceExporter within the Spring Framework.

Create your service interface:

package com.mycompany;
public interface UserService {
User createUser(String userName, String firstName, String password);
User createUser(String userName, String password);
User findUserByUserName(String userName);
int getUserCount();
}Implement it:

package com.mycompany;
public class UserServiceImpl
implements UserService {

public User createUser(String userName, String firstName, String password) {
User user = new User();
return user;

public User createUser(String userName, String password) {
return this.createUser(userName, null, password);

public User findUserByUserName(String userName) {
return database.findUserByUserName(userName);

public int getUserCount() {
return database.getUserCount();

}Configure your service in spring as you would any other RemoteExporter:

Your service is now available at the URL /UserService.json. Type conversion of JSON->Java and Java->JSON will happen for you automatically. This service can be accessed by any JSON-RPC capable client, including the JsonProxyFactoryBean provided by this project:

In the case that your JSON-RPC requies named based parameters rather than indexed parameters an annotation can be added to your service interface (this also works on the service implementation for the ServiceExporter):

package com.mycompany;
public interface UserService {
User createUser(@JsonRpcParamName("theUserName") String userName, @JsonRpcParamName("thePassword") String password);


http java javascript json jsonrpc jsonrpc4j remoting rpc spring


In a Nutshell, jsonrpc4j...

MIT License

Commercial Use



Private Use



Hold Liable


Include Copyright

Include License

These details are provided for information only. No information here is legal advice and should not be used as such.

All Licenses

This Project has No vulnerabilities Reported Against it

Did You Know...

  • ...
    Black Duck offers a free trial so you can discover if there are open source vulnerabilities in your code
  • ...
    compare projects before you chose one to use
  • ...
    65% of companies leverage OSS to speed application development in 2016
  • ...
    you can embed statistics from Open Hub on your site


2 Other

30 Day Summary

Nov 15 2018 — Dec 15 2018

12 Month Summary

Dec 15 2017 — Dec 15 2018
  • 3 Commits
    Down -60 (95%) from previous 12 months
  • 1 Contributors
    Down -15 (93%) from previous 12 months