[servlet] optimisation ou changement d'idée ?
Bonjour
J'ai une servlet de type doGet. Son but est d'appliquer un XSL à un XML.
Cependant mon XML est stocké dans une table oracle telle que
(NB: c'est stocké dans une table oracle car les XML correspondent à des états de commandes/clients/fournisseurs et en version "fichier" il y aurait qqchose comme 100 000 fichiers... c'est qui n'est pas la panacée)
Code:
1 2 3 4 5
| SQL> desc xml_db_ligne;
Name Null? Type
------------------------------- -------- ----
NOM_COLLECTION NOT NULL VARCHAR2(80)
TEXTE VARCHAR2(4000) |
Je passe donc en parametre le "nom_collection" à ma servlet qui fait une connexion JDBC et va chercher toutes les bonnes lignes (getParametreXML est une fonction qui recupére le nom_collection en fonction du request) avec un code du style :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| String xml= null;
Statement recupxml = null;
String sql = "select texte from xml_db_ligne where nom_collection='"+getParametreXML(request) +"'";
recupxml=connex.createStatement();
recupxml.executeQuery(sql);
LignesXML = recupxml.getResultSet();
String ligne=null;
while(LignesXML.next())
{
ligne = LignesXML.getString("TEXTE");
if (ligne!=null) xml= xml + ligne;
} |
quand cette partie est finie, je fais la transformation dont voici un extrait :
Code:
1 2 3
| DocumentBuilder builder = factory.newDocumentBuilder();
builder.setErrorHandler(handler);
document=builder.parse(new InputSource(new StringReader(xml))); |
Mon problème étant un gros problème de performance, j'aurais voulu savoir si :
- la méthode utilisée était la bonne
- si non, que pourrais-je envisager ?
- si oui, comment optimiser le plus possible cette méthode ?
Merci d'avance
PS: je suis en galère et ca commence à devenir... pressant :(