Есть ли способ добавить службу Java Web Start на мой сервер, который использует мой собственный протокол на основе TCP? - PullRequest
0 голосов
/ 27 сентября 2010

Я создаю приложение на Java, которое со временем будет обновляться.Это означает, что клиент должен будет загрузить новый файл .jar и использовать его, когда он будет доступен.Я читал о JWS (Java Web Start), и он отлично работает.Но проблема в том, что мое приложение использует протокол, который я создал, и оно сможет подключаться к моему серверу.Возможно, он не подключен к Интернету, и я не могу установить веб-сервер на этом сервере.Так есть ли способ, которым я могу использовать JNLP внутри моего собственного прото?Или мне придется все это делать самостоятельно ??Заставить его загрузить новую банку и удалить старую?

Ответы [ 2 ]

0 голосов
/ 27 сентября 2010

Проблема заключается в том, как получить файлы, необходимые для запуска приложения, загруженного в Java WebStart, и если все, что у вас есть, - это ваш собственный протокол, то у вас нет ничего на компьютере, на котором работает Java WebStart, который мог бы использовать протокол так Вы не можете ничего скачать.

Другими словами, вам необходим веб-сервер, чтобы Java WebStart работал хорошо.

(я не считаю "заполнять кеш JWS" жизнеспособным вариантом, если нет сервера)

Однако вы можете легко создать приложение Google Application Engine, которое может предоставить файлы для вашего приложения, и , которого достаточно для Java WebStart (плюс приложить некоторую конфигурацию, позволяющую программе знать, где связаться с вашей заявкой).

0 голосов
/ 27 сентября 2010

Если ваше приложение основано на веб-запуске, оно автоматически выполнит обновления. Однако это работает только для известных протоколов, таких как HTTP (и, возможно, FTP, но никогда не пробовал). Я не думаю, что вы заставите Web Start работать с вашим собственным протоколом, но вы можете попробовать сделать это с помощью пользовательского URLConnectionFactory и запустить свой собственный обработчик соединений для вашего протокола. Смотри java.net.URL.setURLStreamHandlerFactory(URLStreamHandlerFactory)

В любом случае, я бы пошел с пользовательской реализацией обновления в этом случае, так как ваши требования кажутся очень конкретными. Поскольку ваше приложение, по-видимому, не основано на существующей платформе с механизмами обновления (например, Eclipse RCP с P2 manager или NetBeans или Java Plugin Framework или Maven ...).

...