2013-06-15 4 views
0

Я пытаюсь решить старую проблему межпроцессного обмена, особенно для модели клиентского сервера, где клиент является графическим интерфейсом.Библиотека для распределенной связи Java с RMI

Я смотрел хронику и, хотя он может сериализовать объекты, ему не хватает возможностей RMI. Он может передавать POJO, но не может запускать методы. Вместо того, чтобы смешивать два или вообще не использовать RMI и писать протокол для обработки Chronicle comms для реализации вызовов методов, я ищу современные альтернативы.

Оглядываясь на Каджо, кажется, хорошо подходит, однако, похоже, что мало развивается активное развитие.

Затем, опять же, Akka подходит для счета, но я не могу найти много сравнения между ними в сети.

Какая библиотека подходит для решения этой проблемы и будет поддерживаться в будущем?

EDIT:

После refrencing документации и комментариев здесь у меня есть еще вопросы.

http://www.javalobby.org/java/forums/t101131.html?start=15

ли Cajo устарел из-за обновления в RMI или это еще проще в использовании альтернативы?

+0

Зачем вам нужны вызовы методов и POJO? Почему не будет хорошей работы, скажем, JSON или обмена protobuf? Выполнение RMI делает ваш протокол не переносимым, что довольно грустно, учитывая, что мы говорим о Java. – fge

+0

Потому что тогда необходим уровень протокола, который не нужен, поскольку мне не нужно, чтобы он был переносимым на язык, и я хочу, чтобы он был простым. – BAR

+0

Никакой слой протокола не нужен вообще, это миф; вы можете использовать любой из них, не выполняя HTTP – fge

ответ

1

Если ваши распределенные процессы: Java, то почему бы вам не использовать RMI? В любом случае, что вы подразумеваете под современным? RMI быстро, так как он находится чуть выше TCP розетки и EJB контейнеры основаны на нем. Akka предназначен для неблокирующего ввода-вывода, который является быстрым, но не является тем же самым типом, что и ваш OP.

+0

Хорошо, я вижу вашу точку на Акке. Но Кайо делает RMI и делает это немного легче, не так ли? – BAR

+1

Если у вас нет каких-либо * требований к производительности ** и ** вы считаете, что библиотека устойчива ** и ** поддерживается ** и ** нет кривой обучения ** и ** вы сможете код быстрее, тогда IMO только тогда вы должны выбрать один из них: «RMI» – Cratylus

+0

Я не говорю, что вы не можете делать асинхронное IO в Akka, потому что это определенно возможно, но если вы думаете, что это «это» об Akka, пропавших без вести 95%: http://akka.io/ –

Смежные вопросы