Hot Deploy no Jboss como configurar?

Primeiramente desculpe se já existe um tópico como esse…mas eu procurei no google e não achei…
Eu trabalho em uma empresa que utiliza o jboss como servidor de aplicação e sempre que fazemos uma alteração em algum arquivo java (usando EJB 2.0) temos que gerar novamente o arquivo .jar e reiniciar o jboss…isso para toda alteração no java…como faço para atualizar o jboss sem ter que reinicia-lo?

Agradeço antecipadamente…

Cara… se eu não estiver errado é só copiar o .jar mais atual em cima do antigo que o JBoss reconhece isso e faz o deploy automaticamente.

Mas em qual pasta? Qualquer uma dentro da pasta deploy mesmo? Eu faço isso e o Jboss não reconhece…
O jar fica localizado dentro de uma pasta na pasta Deploy e sempre tenho que reiniciar o Jboss para reconhecer os novos métodos adicionados no java…

Dentro da pasta deploy mesmo.

Eu tenho uma subpasta dentro da pasta deploy e quando atualizo um método no java e gero novamente o .jar o Jboss não reconhece…reconhece apenas quando o reinicio…tenho que configurar algo nele ?

Também estou com esta duvida a anos temos este problema… alguém??

Essa configuração fica no arquivo jboss-service.xml localizado na pasta conf/ da partição (all/default/etc) utilizada…

Abaixo segue um trecho do arquivo onde é especificado as configurações de scanning.

   <!-- ==================================================================== -->
   <!-- Deployment Scanning                                                  -->
   <!-- ==================================================================== -->

   <!-- An mbean for hot deployment/undeployment of archives.
   -->
   <mbean code="org.jboss.deployment.scanner.URLDeploymentScanner"
      name="jboss.deployment:type=DeploymentScanner,flavor=URL">

      <!-- Uncomment (and comment/remove version below) to enable usage of the
        DeploymentCache
      <depends optional-attribute-name="Deployer">jboss.deployment:type=DeploymentCache</depends>
      -->
      <depends optional-attribute-name="Deployer">jboss.system:service=MainDeployer</depends>

      <!-- The URLComparator can be used to specify a deployment ordering
           for deployments found in a scanned directory.  The class specified
           must be an implementation of java.util.Comparator, it must be able
           to compare two URL objects, and it must have a no-arg constructor.
           Two deployment comparators are shipped with JBoss:
             - org.jboss.deployment.DeploymentSorter
               Sorts by file extension, as follows:
                 "sar", "service.xml", "rar", "jar", "war", "wsr", "ear", "zip",
                 "*"
             - org.jboss.deployment.scanner.PrefixDeploymentSorter
               If the name portion of the url begins with 1 or more digits, those
               digits are converted to an int (ignoring leading zeroes), and
               files are deployed in that order.  Files that do not start with
               any digits will be deployed first, and they will be sorted by
               extension as above with DeploymentSorter.
      -->
      <attribute name="URLComparator">org.jboss.deployment.DeploymentSorter</attribute>
      
      <!--
      <attribute name="URLComparator">org.jboss.deployment.scanner.PrefixDeploymentSorter</attribute>
      -->

      <!-- The FilterInstance specifies a URLLister.URLFilter for scanned
           directories. This DeploymentFilter is initialized with the given
           prefixes, suffixes and matches that define which URLs should be
           ignored.
      -->
      <attribute name="FilterInstance"
         attributeClass="org.jboss.deployment.scanner.DeploymentFilter"
         serialDataType="javaBean">
         <!-- Files starting with theses strings are ignored -->
         <property name="prefixes">#,%,\,,.,_$</property>
         <!-- Files ending with theses strings are ignored -->
         <property name="suffixes">#,$,%,~,\,v,.BAK,.bak,.old,.orig,.tmp,.rej,.sh</property>
         <!-- Files matching with theses strings are ignored -->
         <property name="matches">.make.state,.nse_depinfo,CVS,CVS.admin,RCS,RCSLOG,SCCS,TAGS,core,tags</property>
      </attribute>

      <!-- Frequency in milliseconds to rescan the URLs for changes -->
      <attribute name="ScanPeriod">5000</attribute>
      
      <!-- A flag to disable the scans -->
      <attribute name="ScanEnabled">true</attribute>

      <!-- URLs are comma separated and resolve relative to the server home URL
         unless the given path is absolute. If the URL ends in "/" it is
         considered a collection and scanned, otherwise it is simply deployed;
         this follows RFC2518 convention and allows discrimination between
         collections and directories that are simply unpacked archives.

         URLs may be local (file:) or remote (http:). Scanning is supported
         for remote URLs but unpacked deployment units are not.

         Example URLs:
            deploy/
                 scans ${jboss.server.url}/deploy/, which is local or remote
                 depending on the URL used to boot the server
            ${jboss.server.home}/deploy/
                 scans ${jboss.server.home}/deploy, which is always local
            file:/var/opt/myapp.ear
                 deploy myapp.ear from a local location
            file:/var/opt/apps/
                 scans the specified directory
            http://www.test.com/netboot/myapp.ear
                 deploys myapp.ear from a remote location
            http://www.test.com/netboot/apps/
                 scans the specified WebDAV location
       -->
      <attribute name="URLs">
         deploy/
      </attribute>

      <!-- Indicates if the scanner should recursively scan directories that
      contain no "." in their names. This can be used to group applications
      and services that must be deployed and that have the same
      logical function in the same directory i.e.
        deploy/JMX/
        deploy/JMS/
        ...
      -->
      <attribute name="RecursiveSearch">True</attribute>

   </mbean>

Espero que tenha ajudado.

Olá amigo, muito agradecido acho que o caminho é por ai … mas ainda não consegui…
veja bem … alterei a flag <attribute name="ScanEnabled">true</attribute> para TRUE estava FALSE.

Nessa TAG

<attribute name="URLs"> deploy/ </attribute>

Tentei varios tipos de pastas… algumas estavam subindo com erro…

deixando a padrao deploy … não esta atualizando o .class que quero …

por exemplo o CLASS que quero que sejam atualizados fica nesse diretorio
D:\JBOSS\jboss422gabr\Server\brarel_local\deploy\brarel.ear\bus-entities.jar\apyon\components\brarel\

Para nós reinciar a aplicação demora um certo tempo e a fabrica não pode ficar parada …

não funciona de jeito maneira… sera que pode ser por causa de usar EJB ?

Estou com o mesmo problema. Quando atualizo meu WAR o jboss faz o redeploy normalmente sem precisar de reiniciar, mas quando atualizo um ejb aí dá erro e me obriga a reiniciar o servidor. Será que não tem nenhuma configuração para que funcione o redeploy de ejb sem precisar reiniciar o jboss? Estou usando ejb 2 com jboss 4.0.5