Uploaded image for project: 'EJB 3.0'
  1. EJB 3.0
  2. EJBTHREE-261

EJB3 uses hardcoded socket timeout that cannot be overridden.

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • EJB 3.0 RC2
    • EJB 3.0 Beta 1, EJB 3.0 RC1
    • EJB3 Extensions
    • None

      The EJB3 codebase uses 1 minute for the socket timeout, this cannot be altered by any means short of class file hacking. Here is the offending code, complete with the TODO. This should read a system property for this pref. If the property is not there, then fall back to the default.

      public class ProxyDeployer
      {
      private static final Logger log = Logger.getLogger(ProxyDeployer.class);
      private Container container;
      private Advisor advisor;
      private ArrayList proxyFactories = new ArrayList();

      public ProxyDeployer(Container container)

      { this.container = container; this.advisor = (Advisor) container; }

      public void start() throws Exception
      {
      RemoteBindings bindings = (RemoteBindings) advisor.resolveAnnotation(RemoteBindings.class);
      if (bindings == null)
      {
      RemoteBinding binding = (RemoteBinding) advisor.resolveAnnotation(RemoteBinding.class);
      if (binding == null)
      {
      log.info("no declared remote bindings");
      if (ProxyFactoryHelper.getRemoteInterfaces(container) != null)
      {
      log.info("there is remote interfaces");
      String jndiName = ProxyFactoryHelper.getDefaultRemoteJndiName(container);
      log.info("default remote binding has jndiName of " + jndiName);
      // todo we need to have a way to define default configuration
      String uri =RemoteProxyFactory.DEFAULT_CLIENT_BINDING;

              Unassigned Unassigned
              iwadasn iwadasn (Inactive)
              Votes:
              1 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: