Мне было бы интересно узнать больше о ваших требованиях. Как показывает другой ответ, терракота может быть именно тем, что вы ищете.
Между тем, что предоставляет Терракота, и тем, о чем вы просите, есть тонкая разница, таким образом, мой запрос.
Разница в том, что, насколько вам известно, Terracotta не предоставляет "удаленных" ссылок на объекты - фактически, при использовании Terracotta полностью отсутствует понятие "удаленного" RMI, JMS и т. Д.
Скорее в Терракоте все объекты находятся в большой виртуальной куче. Потоки, будь то в Узле 1 или Узле 2, Узле 3, Узле 4 и т. Д., Имеют доступ к любому объекту в виртуальной куче.
Нет специального программирования для изучения или специальных API, объекты в «виртуальной» куче ведут себя точно так же, как объекты в локальной куче.
Короче говоря, Terracotta предлагает модель программирования для нескольких JVM, которая работает точно так же, как модель программирования для одной JVM. Потоки в отдельных узлах просто ведут себя как потоки в одном узле - мутации, синхронизация, ожидание, уведомление всех объектов ведут себя одинаково на узлах и на потоках - разницы нет.
Кроме того, в отличие от любого решения, предшествующего этому, ссылки на объекты поддерживаются по узлам - это означает, что вы можете использовать ==. Все это является частью поддержки модели памяти Java в кластере, что является фундаментальным требованием для работы «обычной» Java (например, POJO, синхронизированный, ожидание / уведомление) (ничего из этого не работает, если вы не можете / не можете сохранить идентификация объекта в кластере).
Таким образом, возникает вопрос, чтобы уточнить ваши требования - для каких целей вам нужны «удаленные» указатели?