4 Replies Latest reply on Mar 20, 2006 3:26 AM by armita

    deployer cannot determine default local interface

    armita

      I am getting deployer cannot determine default local interface as there are too many implemented interfaces and no @Remote or @Local defined
      And yes I have to define more than one interface but one is annotated as @Local, How can I get ride of this problem?
      Thanks

        • 1. Re: deployer cannot determine default local interface
          bill.burke

          error message? Code? EJB3version? you have not provided enough information.

          • 2. Re: deployer cannot determine default local interface
            armita

            Sorry,
            here is the error message:

            19:14:47,417 WARN [ServiceController] Problem creating service jboss.j2ee:service=EJB3,module=mcipro.ejb3
            java.lang.RuntimeException: deployer cannot determine default local interface as there are too many implemented interfaces and no @Remote or @Local defined for com.tarhyar.ne.NeLogicAction
             at org.jboss.ejb3.ProxyFactoryHelper.getLocalInterfaces(ProxyFactoryHelper.java:103)
             at org.jboss.ejb3.ProxyDeployer.initializeLocalBindingMetadata(ProxyDeployer.java:117)
             at org.jboss.ejb3.SessionContainer.instantiated(SessionContainer.java:71)
             at org.jboss.ejb3.Ejb3Deployment.deployElement(Ejb3Deployment.java:550)
             at org.jboss.ejb3.Ejb3Deployment.deployElement(Ejb3Deployment.java:532)
             at org.jboss.ejb3.Ejb3Deployment.deployUrl(Ejb3Deployment.java:513)
             at org.jboss.ejb3.Ejb3Deployment.deploy(Ejb3Deployment.java:485)
             at org.jboss.ejb3.Ejb3Deployment.create(Ejb3Deployment.java:442)
             at org.jboss.ejb3.Ejb3Module.createService(Ejb3Module.java:125)
            


            The interface :
            package com.tarhyar.ne;
            
            import javax.ejb.Local;
            import javax.faces.event.ValueChangeEvent;
            
            import com.tarhyar.activity.Activity;
            
            import java.util.List;
            
            /**
             * Author: Arash Bijanzadeh
             * Date: Dec 29, 2005
             * Time: 3:26:59 PM
             */
            @Local(NeLogicAction.class)
            public interface NeLogic {
             public String addNe();
             public String selectType();
             public String save();
             public void destroy();
             public void create();
             public String backToMe();
             public String delete();
             public String select();
             public void processValueChange(ValueChangeEvent valueChangeEvent);
             public void setBsc();
            }
            

            The Bean:
            
            /**
             * Author: Arash Bijanzadeh
             * Date: Dec 29, 2005
             * Time: 3:28:11 PM
             */
            @Stateful()
            @Name("neLogic")
            @Conversational(ifNotBegunOutcome = "ne.List")
            @Interceptors(SeamInterceptor.class)
            
            
            public class NeLogicAction implements NeLogic, ValueChangeListener, Serializable {
            
            
             private static Logger log =Logger.getLogger(NeLogicAction.class);
            
             @PersistenceContext(type= PersistenceContextType.EXTENDED)
             private EntityManager em;
            
             @In private transient FacesContext facesContext;
            //
            // @DataModel
            // @Out (required = false)
            // private List<Ne> nes;
            //
            // @DataModelSelectionIndex
            // private int neIndex;
            //
             @In( required = false)
             @Out(required = false)
             private Ne neBean;
            
             @In(create = true)
             private NeList neList;
            
             private String searchString;
             private String cnvId;
            
             @In
             private transient ResourceBundle resourceBundle;
            
            
             @Begin(join = true)
             public String addNe() {
             log.debug("adding Ne");
             log.info("adding Ne");
             neBean = new Ne();
             return "ne.add";
             }
            
             public String selectType() {
             return null;
            
             }
            
             public String save()
             {
             log.debug("save Ne");
             log.info("save Ne");
             neBean.setLastUpdate(new Date());
             em.persist(neBean);
            // facesContext.getExternalContext().getSessionMap().put("neId",neBean.getId());
             return "ne.view";
             }
            
            
            
             public String getSearchString() {
             return searchString;
             }
            
             public void setSearchString(String searchString) {
             this.searchString = searchString;
             }
            
             @Begin(join = true)
             public String select() {
             cnvId = Manager.instance().getCurrentConversationId();
             neBean = neList.getSelected();
             return "ne.view";
             }
            
             public String delete() {
             if(neBean== null) {
             neBean = neList.getSelected();
             }
             em.remove(neBean);
             facesContext.addMessage(null,
             new FacesMessage( FacesMessage.SEVERITY_INFO,
             resourceBundle.getString("deleted.success"),""
             )
             );
             return "ne.list";
             }
            
            
             public String selectedUserName() {
             neBean = neList.getSelected();
             return "ne.view";
             }
            
            
            
             public String backToMe()
             {
             Manager.instance().swapConversation(cnvId);
             Contexts.getSessionContext().remove("actvBean");
             return "ne.view";
             }
            
             public void processValueChange(ValueChangeEvent valueChangeEvent) throws AbortProcessingException {
             neBean.setNeType((NeType) valueChangeEvent.getNewValue());
             }
            
            


            • 3. Re: deployer cannot determine default local interface
              bill.burke

              @Local
              public interface NeLogic {
              public String addNe();
              public String selectType();
              public String save();
              public void destroy();
              public void create();
              public String backToMe();
              public String delete();
              public String select();
              public void processValueChange(ValueChangeEvent valueChangeEvent);
              public void setBsc();
              }

              • 4. Re: deployer cannot determine default local interface
                armita

                I tryed this, same errors happened. But I got where the error is. I had some jar files in my ejb3 file. There are harmless and I copied them for IDE to recognise them. And actually it was working pretty fine for some weeks and then all of a sudden this error occured. I removed the jar files and now I am happy again