Quiero utilizar anti-samy de OWASP. Obtuvieron un objeto de política, que se crea una instancia a través de un método de fábrica.Spring: Recurso de inyección como InputStream en un método de fábrica
public static Policy getInstance(InputStream inputStream);
El InputStream que necesita ser pasado a la fábrica método representa el archivo de configuración para el objeto de directiva.
¿Es posible usar create a policy bean en una configuración de contexto spring xml? Sé que hay un objeto Resource que puede cargar archivos desde classpath. Pero lo que necesito es hacer un InputStream fuera de ese objeto Resource. ¿Puedo hacer esto directamente en el contexto xml-spring? ¿O necesito escribir código Java para obtener el InputStream?
Oye, no me di cuenta de que Spring podría forzar a 'InputStream', eso está bien. Sin embargo, tenga en cuenta que Spring no cerrará el 'InputStream' en sí, sino que asumirá que el bean lo hará. Si la clase 'Policy' no cierra esa secuencia, terminará con una fuga. – skaffman
Bien observado. La política no cierra el InputStream: http://code.google.com/p/owaspantisamy/source/browse/trunk/Java/current/antisamy-project/antisamy/src/main/java/org/owasp/validator/html /Policy.java#210. Esto se debe informar como un error, supongo –
Hm, luego voy a abrir y cerrar el InputStream en código java. Sin embargo, la construcción se ve bien, pero cuando la pruebo, obtengo una excepción FileNotFoundException, que me dice que no puede encontrarla ' classpath: tempo-antisamy.xml '. De alguna manera, el prefijo classpath no está separado del nombre de archivo –
nebenmir