The EJB container will only recompile your application during deployment if your EJB wasn’t precompiled (with weblogic.appc) or if the EJB container suspects your generated EJB wrapper classes may be out of date. Assuming you have precompiled your application, the recompilation may be triggered by any of the following: 1. The WLS server version you are deploying to is different than the WLS server version your EJB was compiled with. For example, this can happen as the result of applying a WLS patchset since your EJB was last compiled.

2. Your EJB metadata was modified. Metadata changes may require the generated wrappers to be updated to honor the updated metadata settings.

3. Updates to your EJB interfaces and or bean class. If your changes add, remove or modify methods, the wrapper classes may need to be updated to include the new method signatures.

4. The WLGENERATED file could’t be found. The EJB container creates this file during compilation and uses it to store information about the state of your EJB. If the EJB container can’t find it during deployment (because you’ve removed it from your app), the container assumes your application was not precompiled.