2009-03-15 5 views
1

Я создаю службу Windows на Java, которая записывает данные в объект. Этот объект должен быть доступен другой программе Java. Каков наилучший подход?java service and sharing sharing

спасибо. Jack

ответ

0

Сериализуйте объект в файл и читайте/записывайте его другим способом! Вы можете сериализовать его также в XML с помощью таких фреймворков, как JAXB или XStream.

Другой способ - JMS, но его трудно освоить.

+0

@Martin, Спасибо. Я уже рассмотрел ваше предложение, но хотел бы знать, есть ли у него более эффективные подходы. Существует очень длинный список пар значений полей, которые обновляются несколько раз в секунду. Итак, сериализует лучшее решение? – 2009-03-15 16:13:03

+0

Кроме того, может ли кто-нибудь указать мне на учебник для наиболее подходящего способа создания Java-сервиса в Windows? – 2009-03-15 16:14:17

+0

Проблема с использованием файла гарантирует читателю, что файл не обновляется, и автор не пытается обновить файл во время его чтения. –

1

Я согласен с подходом «положите его в файл», если вы не уточните, как два процесса Java могут «видеть» друг друга. Они работают одновременно? На той же машине? И т. Д. Какие данные необходимо передать?


Если все приложения и службы могут записывать данные, у вас есть проблемы в определении того, какие данные является правильным (один в приложении А или услуги).

Простым подходом к проблеме «общего хранилища данных» может быть JNDI-сервер, который включен в большинство серверов Java EE, таких как JBoss, где каждой конфигурации рекомендуется читать с одного и того же JNDI-сервера. Я не уверен, что клиенты могут обновлять информацию в JNDI, но это, вероятно, конкретный поставщик.

+0

@Thorbjorn, Да, служба и другое (отдельное) приложение одновременно считывают и записывают совместно используемые данные на высоких скоростях на одном компьютере. Данные представляют собой, в основном, список пар значений полей. – 2009-03-15 17:15:20

0

Plain old RMI - это то, что было использовано для чего вам нужно. Теперь предпочтительны более новые альтернативы, такие как WS, но, возможно, для вас достаточно первого.