Uygulamamda dinamik CXF istemcileri oluşturuyorum. Bununla ben kurulum testi uygulamasıDoğru java 8 sınıf boşaltma için kurulum (Metaspace cleanup)/cxf issue
java -Djava.io.tmpdir=/tmp/cxf -XX:MetaspaceSize=12m -XX:MaxMetaspaceSize=24m -XX:MaxMetaspaceFreeRatio=80 -XX:MinMetaspaceFreeRatio=40 -XX:+UnlockDiagnosticVMOptions -XX:NativeMemoryTracking=sums=200 -XX:+ParallelRefProcEnabled -XX:+AggressiveOpts -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp/hdump.hprof -XshowSettings -jar classloader-leak.jar
paramters ve ben java alıyorum döngü içinde istemci oluşturma işlemi sırasında
JaxWsDynamicClientFactory factory = JaxWsDynamicClientFactory.newInstance();
Client client = factory.createClient("wsdl/hello.wsdl");
, Şimdi:
Bu istemci yaratılış kod parçacığı olduğunu. lang.OutOfMemoryError: Meta alan istisnası. Neden sınıfları boşaltılmamış/metaspace temizlenmediğini bilmiyorum. Birisi bana yardımcı olabilir here benim test projem. Sadece (mvn temiz paket) oluşturun ve yaptığım gibi komut satırı ile çalıştırın.
JDK8u77 kullanıyorum.
10 Kendi 'ClassLoader'ınızı JaxWsDynamicClientFactory.createClient()' ye iletemediğin ve bitirdiğinizde imha etmediğinizin herhangi bir nedeni var mı? – Stackee007