J'utilise un deflater qui fonctionne bien lors des premiers tests, mais qui pose des problèmes lors des tests de charge !
Voila mon code
L'erreur vient quand on fait le def.close(), on obtient :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 public static byte[] deflateEncode(String p_message) throws IOException { ByteArrayOutputStream byteArray = new ByteArrayOutputStream(); Deflater deflater = new Deflater(Deflater.DEFLATED,true); DeflaterOutputStream def = new DeflaterOutputStream(byteArray, deflater); try { def.write(p_message.getBytes()); } catch (IOException e) { throw e; } finally { try { def.close(); } catch (IOException e) { //on ne peut rien faire de plus } } try { byteArray.close(); } catch (IOException e) { //on ne peut rien faire de plus } return byteArray.toByteArray(); }
J'avoue que je suis perplexe, vu que le problème ne se produit pas tout le temps mais uniquement quand on fait des tests de charge !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 java.lang.NullPointerException: deflateBytes at java.util.zip.Deflater.deflateBytes(Native Method) at java.util.zip.Deflater.deflate(Deflater.java:279) at java.util.zip.DeflaterOutputStream.deflate(DeflaterOutputStream.java:159) at java.util.zip.DeflaterOutputStream.finish(DeflaterOutputStream.java:134) at java.util.zip.DeflaterOutputStream.close(DeflaterOutputStream.java:146) at com.bull.xss.saml2.util.SAMLUtil.deflateEncode(SAMLUtil.java:184)
Toute suggestion est la bienvenue !
Partager