У меня проблема с приложением Java Web Start. У меня есть приложение JavaEE, работающее в контейнере Wildfly 9. Я передаю файл свойств в приложение Web Start, которое содержит URL-адрес файла csv и URL-адрес файла шаблона.Wildfly возвращает кешированные значения для HTTP-запроса при развертывании из военного файла
Когда я запускаю приложение в первый раз, приложение загружает файл свойств, загружает URL-адрес из записей файла свойств и загружает файл csv и шаблонный файл и выполняет слияние с файлами.
Когда я запускаю приложение «Веб-запуск», второе, третье ... время, когда он всегда загружает файл свойств с первого запуска. Даже файл свойств перезаписывается каждый раз, когда пользователь запускает приложение Web Start.
Я обнаружил, что при развертывании моего приложения в Wildfly через «Полный публикация» из eclipse приложение Web Start работает нормально, но когда я развертываю свое приложение через «Project -> Export -> WAR file», и поместите файл .war в папку развертывания в моей установке Wildfly, я получаю описанное выше поведение.
Некоторые ДОПОЛНИТЕЛЬНО: Развертывание с помощью "файла WAR Экспорт" вывод на консоль, первый запуск:
Java Web Start 11.65.2.17
JRE-Version verwenden 1.8.0_65-b17 Java HotSpot(TM) Client VM
Benutzer-Home-Verzeichnis = C:\Users\arthurw
c: Konsolenfenster löschen
f: Objekte in Finalisierungs-Queue finalisieren
g: Garbage Collect
h: Diese Hilfemeldung anzeigen
m: Speicherauslastung drucken
o: Logging auslösen
p: Proxykonfiguration neu laden
q: Konsole ausblenden
r: Policy-Konfiguration neu laden
s: System- und Deployment-Eigenschaften ausgeben
t: Threadliste ausgeben
v: Threadstack ausgeben
0-5: Traceebene auf <n> setzen
CacheEntry[http://localhost:8080/browser/resources/webstart/715.jnlp]: updateAvailable=true,lastModified=Tue Nov 24 12:23:01 CET 2015,length=831
CacheEntry[http://localhost:8080/browser/resources/webstart/Textverwaltungsschnittstelle.jar]: updateAvailable=true,lastModified=Tue Nov 24 12:21:14 CET 2015,length=2728463
Missing Permissions manifest attribute in main jar: http://localhost:8080/browser/resources/webstart/Textverwaltungsschnittstelle.jar
CacheEntry[http://localhost:8080/browser/resources/webstart/715.properties]: updateAvailable=true,lastModified=Tue Nov 24 12:23:34 CET 2015,length=298
Content-Type = application/octet-stream
Content-Disposition = null
Content-Length = 298
fileName = 715.properties
File downloaded
Content-Type = application/octet-stream
Content-Disposition = null
Content-Length = 2823
fileName = 715_2015_11_24_12_26_16.csv
File downloaded
Content-Type = application/octet-stream
Content-Disposition = null
Content-Length = 37405
fileName = 715_2015_11_24_12_26_16.DOCX
File downloaded
The Library been loaded, and an activeX component been created
второй прогон:
Java Web Start 11.65.2.17
JRE-Version verwenden 1.8.0_65-b17 Java HotSpot(TM) Client VM
Benutzer-Home-Verzeichnis = C:\Users\arthurw
----------------------------------------------------
c: Konsolenfenster löschen
f: Objekte in Finalisierungs-Queue finalisieren
g: Garbage Collect
h: Diese Hilfemeldung anzeigen
m: Speicherauslastung drucken
o: Logging auslösen
p: Proxykonfiguration neu laden
q: Konsole ausblenden
r: Policy-Konfiguration neu laden
s: System- und Deployment-Eigenschaften ausgeben
t: Threadliste ausgeben
v: Threadstack ausgeben
0-5: Traceebene auf <n> setzen
----------------------------------------------------
Missing Permissions manifest attribute in main jar: http://localhost:8080/browser/resources/webstart/Textverwaltungsschnittstelle.jar
Content-Type = application/octet-stream
Content-Disposition = null
Content-Length = 298
fileName = 715.properties
File downloaded
Content-Type = application/octet-stream
Content-Disposition = null
Content-Length = 2823
fileName = 715_2015_11_24_12_26_16.csv
File downloaded
Content-Type = application/octet-stream
Content-Disposition = null
Content-Length = 37405
fileName = 715_2015_11_24_12_26_16.DOCX
File downloaded
The Library been loaded, and an activeX component been created
И это JNLP-файл
<?xml version="1.0" encoding="utf-8"?>
<jnlp spec="1.0+" codebase="http://localhost:8080/browser/resources/webstart" href="715.jnlp">
<information>
<title>Textverwaltung Schnittstelle</title>
<description>automatisierte Serienbriefbefüllung mithilfe Ihrer Textverwaltung</description>
</information>
<security>
<all-permissions/>
</security>
<resources>
<j2se version="1.6+" />
<jar href="Textverwaltungsschnittstelle.jar" main="true"/>
</resources>
<update check="always" policy="always"/>
<application-desc main-class="mm.Textverwaltungsschnittstelle">
<argument>http://localhost:8080/browser/resources/webstart/715.properties</argument>
</application-desc>
</jnlp>
Мне нужно заставить его работать с развертыванием через «Экспорт WAR-файла». Кто-нибудь знает, в чем проблема?
------------------------------ ИЗОБРАЖЕНИЕ --------------- ----------------------
Это процесс загрузки файла свойств, здесь все хорошо, я могу вручную открыть файл свойств и контент правильный.
Properties clientprops=new Properties();
clientprops.put("modus", modus);
clientprops.put("templatepath", templateUrl);
clientprops.put("csvpath", csvUrl);
String propertypath=jnlpdir + user + ".properties";
File fp = new File(propertypath);
OutputStream out;
try {
out = new FileOutputStream(fp);
clientprops.store(out, "Benötigte Attribute für die Aktivierung der Textverwaltungsschnittstelle");
} catch (IOException e2) {
e2.printStackTrace();
}
То, как я загрузить файл свойств
File proppath = new File(tmpdir + "prop.properties");
URL url;
try {
url = new URL(args[0]);
FileUtils.copyURLToFile(url, proppath);
} catch (IOException e) {
showFehler("Properties konnten nicht kopiert werden");
}
copyURLToFile (URL, proppath) является методом из appache FileUtils. Загруженный файл свойств имеет недопустимый контент. Это каждый раз контент с первого запуска.
Sincerly Артур
Привет, Jan, 715.properties отлично, только его содержимое меняется каждый раз, но загруженные 715.properties в веб-старте имеют содержимое с первого запуска, что неверно. Я отредактирую свое сообщение, чтобы показать вам код, который обрабатывает загрузку и загрузку. –
Привет, Ян, я понял, что когда я открываю файл свойств с firefox, я получаю все то же содержимое с первого запуска. Но когда я перехожу к папке с помощью проводника окон и открываю файл свойств там, он имеет правильный контент.Я думаю, что wildfly дает мне кешированную версию файла 715.properties, когда я делаю HTTP-запрос для этого ресурса. –
Привет, Ян, действительно, файл свойств не был обновлен в файле войны. Я сделал обходной путь, создав новый файл свойств с уникальным именем файла и сделав запрос на этот новый файл. спасибо за помощь –