12
votes

La numérisation de classe de classe peut-elle être contrôlée dans Soudure?

Je jouais avec Weld-SE (Java SE) et j'ai remarqué que s'il y a beaucoup de bocaux dans la classe de classe, le temps de démarrage JVM fonctionne en plusieurs secondes.

N'y a-t-il pas un moyen de spécifier / restreindre le chemin de numérisation en tant que motif de paquet ou modèle de chemin comme dans Apache Ant ou AspectJ?

PS: l'inscription sur le forum de soudure ne fonctionne tout simplement pas - il continue à dire "Votre mot de passe est trivial"


0 commentaires

3 Réponses :


4
votes

bonnes questions, mais je ne pense pas que ce soit possible. Chaque archive est numérisée pour haricots.xml , par spécification.


3 commentaires

Devinez qu'il est temps de supprimer cette réponse, @bozho: le précédent est parfaitement valide.


@Riduidel merci. J'ai pensé à la supprimer, mais selon la spécification CDI, il n'y a aucun moyen. La soudure n'est qu'une seule implémentation. J'ai évoqué l'autre réponse, car c'est pratiquement le plus applicable.


En effet, j'ai oublié l'aspect non standard, merci d'explication.



14
votes

Démarrage de SOUDAGE 1.1.0, il est possible selon Documentation de référence de soudure :

<beans xmlns="http://java.sun.com/xml/ns/javaee" 
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
       xmlns:weld="http://jboss.org/schema/weld/beans" 
       xsi:schemaLocation="
          http://java.sun.com/xml/ns/javaee http://docs.jboss.org/cdi/beans_1_0.xsd
          http://jboss.org/schema/weld/beans http://jboss.org/schema/weld/beans_1_1.xsd">
    <weld:scan>
        <weld:exclude name="mypackage.MyClass"/>
    </weld:scan>
</beans>


0 commentaires

6
votes

Vous pouvez avec CDI 1.1. La 1ère réponse fonctionne bien, mais cet extrait fonctionne sur n'importe quel fournisseur:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://xmlns.jcp.org/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/beans_1_1.xsd"
    version="1.1" bean-discovery-mode="all">

    <scan>
        <exclude name="my.cool.package" />

        <!-- you can exclude with condition -->
        <exclude name="my.cool.package.for.jodatime" />
            <if-class-not-available name="org.joda.time.LocalDate"/>
        </exclude>
    </scan>
</beans>


0 commentaires