BindObject

Hi everybody,
**Object of problem**
Binding an object that are not yet registered in the name service.
**Context**
30's Forté connected environments geografically dispersed in Belgium.
**Explanation**
Brussels has our Forté super-environment.
A Forté listener object runs there and capts or receives a lot of messages
from our Unisys Mainframe.
When parsing these messages, the Listener_SO has to run, somewhere in
Belgium, an explicit method on a distributed binded object..
The BindObject method works very well when the local objects are referenced
in the name-service, or in another words, when the local partition is
ONLINE.
Early in the morning, I start the multiple local SO's with a script.
But sometimes, we have problem with our local servers. Something appears
that the parttion doesn't start. This is a normal system fault, bad boot of
server, disk fault, etc.
My problem is here:
Naturally, when it's append, the name service doesn't know this SO reference
because the concerned partition is OffLine.
When the listener tries to bind an unknowed object, I get a normal
DistAccessException with a ReasonCode SP_ER_OBJECTNOTFOUND.
ok... that's normal !
**BUT** when I start the local partion (then is OnLine), and I try a new
Bind, I have the same error ...
I have to shutdown the listener and the bind works properly.
In my context, I must not shutdown the listener and re-start it because many
people are connected with.
Is there a solution to my problem ? - I hope so, because I'm working in
production now, and the deadline for this solution is very very short ...
Thanks very much to help me,

Forte has a build in name service where it registers all of the service objects. (And more.) If you use something before UDS 5.0 you can see the name service in E-console under the application view. UDS 5.0 even allows you to drill down into the name service as part of Econsole.
You dynamicly bind with this code if you do a little research on bindobject:
bindName : textdata = new();
myName.replaceParameters('site/%1/%1-%2', SampleProjectName_cl0, SOSampleName);
myServer = (TUBaseService)(task.Part.ObjectLocationMgr.BindObject
                    (name = bindName, classType = serverClass));
This would bind to the SOSampleName service object in the project SampleProject. Notice that the compatibility level is important.
Hope this helps.
--Scott Bechtel
[email protected]

Similar Messages

  • NameService, ObjectLocationMgr and BindObject

    Good morning to everybody.
    I was trying to practice some object registering and binding
    with Forte Name service.
    Here are 2 files: pierreObjectLocationMgr registers an anchored
    object in the Name Service, and pierreObjectLocationClient
    should, in my fantasy, bind to that object and get the value
    of an attribute.
    Registering the object works fine:
    I execute ESCRIPT, do the following:
    findactenv
    findsubagent nameservice
    nsls /mydata
    and the object myobject that I have registered appears.
    When I try, with the Client application, to bind to the object,
    it just happily hangs forever and ever, not even an exception,
    just hanging.
    I am using Forte 3.0.E.0 on NT workstation 4.0
    Any clue?
    Thanks a lot. Pierre.
    Get Your Private, Free Email at http://www.hotmail.com

    Where are the experts these days?
    Please reply if you can
    Thanks,
    again
    Jor3

  • Problem to send a message with JMS

    Hi
    I'm doing some tests with the api JMS to know how works. I have got some problems. I have been looking for some information but i don't find so much. I have got too doubts.
    I am usinng Netbeans 5.5 with Sun Java System Application Server Platform Edition 9.0_01 (build b14).
    I am trying to do it with ejb. Because in the future the application can have got so many connection in the same time.
    The server shows me the next errors.
    Starting Sun Java System Application Server Platform Edition 9.0_01 (build b14) ...
    CORE5098: AS Socket Service Initialization has been completed.
    CORE5076: Using [Java HotSpot(TM) Client VM, Version 1.6.0_03] from [Sun Microsystems Inc.]
    SEC1002: Security Manager is OFF.
    ADM0001:MBeanServer initialized successfully
    SEC1143: Loading policy provider com.sun.enterprise.security.provider.PolicyWrapper.
    sgmt.service_initialized
    DPL5400:Exception occurred : error in opening zip file.
    ADM1079: Initialization of AMX MBeans successful
    ADM1504: Here is the JMXServiceURL for the Standard JMXConnectorServer: [service:jmx:rmi:///jndi/rmi://t1:8686/jmxrmi].  This is where the remote administrative clients should connect using the standard JMX connectors
    ADM1506: Status of Standard JMX Connector: Active = [true]
    JTS5014: Recoverable JTS instance, serverId = [3700]
    About to load the system app: MEjbApp
    LDR5010: All ejb(s) of [MEjbApp] loaded successfully!
    About to load the system app: __ejb_container_timer_app
    EJB5109:EJB Timer Service started successfully for datasource [jdbc/__TimerPool]
    LDR5010: All ejb(s) of [__ejb_container_timer_app] loaded successfully!
    NAM0008 : Invalid Destination: jndi/Topic for java:comp/env/jms/Topic
    EJB5090: Exception in creating EJB container [javax.naming.NamingException [Root exception is javax.naming.NameNotFoundException]]
    appId=Chat-ejb moduleName=Chat-ejb ejbName=publicarBean
    LDR5004: UnExpected error occured while creating ejb container
    javax.naming.NamingException [Root exception is javax.naming.NameNotFoundException]
            at com.sun.enterprise.naming.NamingManagerImpl.bindObjects(NamingManagerImpl.java:485)
            at com.sun.ejb.containers.BaseContainer.setupEnvironment(BaseContainer.java:2628)
            at com.sun.ejb.containers.BaseContainer.<init>(BaseContainer.java:629)
            at com.sun.ejb.containers.StatelessSessionContainer.<init>(StatelessSessionContainer.java:163)
            at com.sun.ejb.containers.ContainerFactoryImpl.createContainer(ContainerFactoryImpl.java:515)
            at com.sun.enterprise.server.AbstractLoader.loadEjbs(AbstractLoader.java:490)
            at com.sun.enterprise.server.EJBModuleLoader.load(EJBModuleLoader.java:158)
            at com.sun.enterprise.server.AbstractManager.load(AbstractManager.java:206)
            at com.sun.enterprise.server.ApplicationLifecycle.onStartup(ApplicationLifecycle.java:198)
            at com.sun.enterprise.server.ApplicationServer.onStartup(ApplicationServer.java:326)
            at com.sun.enterprise.server.ondemand.OnDemandServer.onStartup(OnDemandServer.java:112)
            at com.sun.enterprise.server.PEMain.run(PEMain.java:326)
            at com.sun.enterprise.server.PEMain.main(PEMain.java:260)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:597)
            at com.sun.enterprise.server.PELaunch.main(PELaunch.java:272)
    Caused by: javax.naming.NameNotFoundException
            at com.sun.enterprise.naming.TransientContext.resolveContext(TransientContext.java:255)
            at com.sun.enterprise.naming.TransientContext.lookup(TransientContext.java:178)
            at com.sun.enterprise.naming.SerialContextProviderImpl.lookup(SerialContextProviderImpl.java:61)
            at com.sun.enterprise.naming.LocalSerialContextProviderImpl.lookup(LocalSerialContextProviderImpl.java:98)
            at com.sun.enterprise.naming.SerialContext.lookup(SerialContext.java:309)
            at javax.naming.InitialContext.lookup(InitialContext.java:392)
            at com.sun.enterprise.naming.NamingManagerImpl.bindObjects(NamingManagerImpl.java:469)
            ... 17 more
    CORE5021: Application NOT loaded: [Chat-ejb]
    WEB0302: Starting Sun-Java-System/Application-Server.
    WEB0100: Loading web module [__default-admingui] in virtual server [__asadmin] at [/]
    WEB0100: Loading web module [adminapp] in virtual server [__asadmin] at [/web1]
    WEB0100: Loading web module [admingui] in virtual server [__asadmin] at [/asadmin]
    WEB0100: Loading web module [amserver] in virtual server [server] at [/amserver]
    Initializing Sun's JavaServer Faces implementation (1.2_02-b03-FCS) for context ''
    Completed initializing Sun's JavaServer Faces implementation (1.2_02-b03-FCS) for context ''
    Initializing Sun's JavaServer Faces implementation (1.2_02-b03-FCS) for context '/asadmin'
    Completed initializing Sun's JavaServer Faces implementation (1.2_02-b03-FCS) for context '/asadmin'
    WEB0712: Starting Sun-Java-System/Application-Server HTTP/1.1 on 8080
    WEB0712: Starting Sun-Java-System/Application-Server HTTP/1.1 on 8181
    WEB0712: Starting Sun-Java-System/Application-Server HTTP/1.1 on 4848
    About to load the system app: __JWSappclients
    WEB0100: Loading web module [__JWSappclients:sys.war] in virtual server [server] at [/__JWSappclients]
    Using MQ RA for Broker lifecycle control
    JMS Service Connection URL is :mq://t1:7676/
    MQJMSRA_RA1101: SJSMQ JMS Resource Adapter starting...
    EB-start:brokerProps={imq.instancename=imqbroker, imq.jmx.rmiregistry.port=8686, BrokerArgs=-port 7676 -name imqbroker -imqhome D:\Sun\AppServer\imq\bin\.. -varhome D:/sun/AppServer/domains/domain1\imq -useRmiRegistry -rmiRegistryPort 8686, imq.jmx.rmiregistry.use=true, imq.portmapper.port=7676}
    [07/nov/2007:18:35:03 CET]
    ================================================================================
    Sun Java(tm) System Message Queue 4.0
    Sun Microsystems, Inc.
    Version:  4.0  (Build 27-a)
    Compile:  Thu 03/02/2006
    Copyright (c) 2006 Sun Microsystems, Inc.  All rights reserved.
    SUN PROPRIETARY/CONFIDENTIAL.  Use is subject to license terms.
    This product includes code licensed from RSA Data Security.
    ================================================================================
    Java Runtime: 1.6.0_03 Sun Microsystems Inc. D:\sun\Java\jdk1.6.0_03\jre
    [07/nov/2007:18:35:03 CET]    IMQ_HOME=D:\sun\AppServer\imq
    [07/nov/2007:18:35:03 CET] IMQ_VARHOME=D:\sun\AppServer\domains\domain1\imq
    [07/nov/2007:18:35:03 CET] Windows XP 5.1 x86 t1 (1 cpu) pepepc
    [07/nov/2007:18:35:03 CET] Java Heap Size: max=506816k, current=46944k
    [07/nov/2007:18:35:03 CET] Arguments: -port 7676 -name imqbroker -imqhome D:\Sun\AppServer\imq\bin\.. -varhome D:/sun/AppServer/domains/domain1\imq -useRmiRegistry -rmiRegistryPort 8686
    [07/nov/2007:18:35:04 CET] [B1060]: Loading persistent data...
    [07/nov/2007:18:35:04 CET] Using built-in file-based persistent store: D:\sun\AppServer\domains\domain1\imq\instances\imqbroker\
    [07/nov/2007:18:35:04 CET] [B1189]: Cluster Service feature is not available
    [07/nov/2007:18:35:04 CET] [B1039]: Broker "imqbroker@t1:7676" ready.
    MQJMSRA_EB1101: run:EMBEDDED broker started with code =0
    MQJMSRA_RA1101: SJSMQ JMS ResourceAdaapter configuration=
            raUID                               =null
            brokerType                          =EMBEDDED
            brokerInstanceName                  =imqbroker
            brokerBindAddress                   =null
            brokerPort                          =7676
            brokerHomeDir                       =D:\Sun\AppServer\imq\bin\..
            brokerVarDir                        =D:/sun/AppServer/domains/domain1\imq
            brokerJavaDir                       =D:/sun/Java/jdk1.6.0_03
            brokerArgs                          =null
            brokerStartTimeout                  =60000
            adminUsername                       =admin
            adminPassFile                       =E:\tempWin\asmq21980.tmp
            useJNDIRmiServiceURL                =true
            rmiRegistryPort                     =8686
            startRmiRegistry                    =false
            useSSLJMXConnector                  =true
            brokerEnableHA                      =false
            clusterId                           =null
            brokerId                            =null
            jmxServiceURL                       =null
            dbType                              =null
            dbProps                             ={}
            dsProps                             ={}
            ConnectionURL                       =
            UserName                            =guest
            ReconnectEnabled                    =true
            ReconnectInterval                   =5000
            ReconnectAttempts                   =3
            AddressListBehavior                 =RANDOM
            AddressListIterations               =3
            InAppClientContainer                =false
            InClusteredContainer                =false
            GroupName                           =null
    MQJMSRA_RA1101: start:SJSMQ JMSRA Connection Factory Config={imqOverrideJMSPriority=false, imqConsumerFlowLimit=1000, imqOverrideJMSExpiration=false, imqAddressListIterations=3, imqLoadMaxToServerSession=true, imqConnectionType=TCP, imqPingInterval=30, imqSetJMSXUserID=false, imqConfiguredClientID=, imqSSLProviderClassname=com.sun.net.ssl.internal.ssl.Provider, imqJMSDeliveryMode=PERSISTENT, imqConnectionFlowLimit=1000, imqConnectionURL=http://localhost/imq/tunnel, imqBrokerServiceName=, imqJMSPriority=4, imqBrokerHostName=localhost, imqJMSExpiration=0, imqAckOnProduce=, imqEnableSharedClientID=false, imqAckTimeout=0, imqAckOnAcknowledge=, imqConsumerFlowThreshold=50, imqDefaultPassword=guest, imqQueueBrowserMaxMessagesPerRetrieve=1000, imqDefaultUsername=guest, imqReconnectEnabled=false, imqConnectionFlowCount=100, imqAddressListBehavior=PRIORITY, imqReconnectAttempts=3, imqSetJMSXAppID=false, imqConnectionHandler=com.sun.messaging.jmq.jmsclient.protocol.tcp.TCPStreamHandler, imqSetJMSXRcvTimestamp=false, imqBrokerServicePort=0, imqDisableSetClientID=false, imqSetJMSXConsumerTXID=false, imqOverrideJMSDeliveryMode=false, imqBrokerHostPort=7676, imqQueueBrowserRetrieveTimeout=60000, imqSetJMSXProducerTXID=false, imqSSLIsHostTrusted=false, imqConnectionFlowLimitEnabled=false, imqReconnectInterval=5000, imqAddressList=localhost:7676, imqOverrideJMSHeadersToTemporaryDestinations=false}
    MQJMSRA_RA1101: SJSMQ JMSRA Started
    endpoint.determine.destinationtype
    NAM0008 : Invalid Destination: jndi/Topic for java:comp/env/jms/Topic
    EJB5090: Exception in creating EJB container [javax.naming.NamingException [Root exception is javax.naming.NameNotFoundException]]
    appId=Chat moduleName=Chat-ejb_jar ejbName=publicarBean
    LDR5004: UnExpected error occured while creating ejb container
    javax.naming.NamingException [Root exception is javax.naming.NameNotFoundException]
            at com.sun.enterprise.naming.NamingManagerImpl.bindObjects(NamingManagerImpl.java:485)
            at com.sun.ejb.containers.BaseContainer.setupEnvironment(BaseContainer.java:2628)
            at com.sun.ejb.containers.BaseContainer.<init>(BaseContainer.java:629)
            at com.sun.ejb.containers.StatelessSessionContainer.<init>(StatelessSessionContainer.java:163)
            at com.sun.ejb.containers.ContainerFactoryImpl.createContainer(ContainerFactoryImpl.java:515)
            at com.sun.enterprise.server.AbstractLoader.loadEjbs(AbstractLoader.java:490)
            at com.sun.enterprise.server.ApplicationLoader.load(ApplicationLoader.java:184)
            at com.sun.enterprise.server.TomcatApplicationLoader.load(TomcatApplicationLoader.java:113)
            at com.sun.enterprise.server.AbstractManager.load(AbstractManager.java:206)
            at com.sun.enterprise.server.ApplicationLifecycle.onStartup(ApplicationLifecycle.java:204)
            at com.sun.enterprise.server.ApplicationServer.onStartup(ApplicationServer.java:326)
            at com.sun.enterprise.server.ondemand.OnDemandServer.onStartup(OnDemandServer.java:112)
            at com.sun.enterprise.server.PEMain.run(PEMain.java:326)
            at com.sun.enterprise.server.PEMain.main(PEMain.java:260)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:597)
            at com.sun.enterprise.server.PELaunch.main(PELaunch.java:272)
    Caused by: javax.naming.NameNotFoundException
            at com.sun.enterprise.naming.TransientContext.resolveContext(TransientContext.java:255)
            at com.sun.enterprise.naming.TransientContext.lookup(TransientContext.java:178)
            at com.sun.enterprise.naming.SerialContextProviderImpl.lookup(SerialContextProviderImpl.java:61)
            at com.sun.enterprise.naming.LocalSerialContextProviderImpl.lookup(LocalSerialContextProviderImpl.java:98)
            at com.sun.enterprise.naming.SerialContext.lookup(SerialContext.java:309)
            at javax.naming.InitialContext.lookup(InitialContext.java:392)
            at com.sun.enterprise.naming.NamingManagerImpl.bindObjects(NamingManagerImpl.java:469)
            ... 18 more
    Registering ad hoc servlet: WebPathPath: context root = "/Chat", path = "/Chat-app-client'
    Java Web Start services started for application com.sun.enterprise.appclient.jws.ApplicationContentOrigin@aabc2d registration name=Chat
        [email protected]56b4 registration name=Chat, context root=/Chat/Chat-app-client, module name=
    , parent=Chat
    CORE5021: Application NOT loaded: [Chat]
    SMGT0007: Self Management Rules service is enabled
    Application server startup complete.
    JBISE6013: JavaEEServiceEngine : Java EE Service Engine started successfully.
    CORE5024: EJB module [Chat-ejb] unloaded successfully!
    DeployedItemRef postDeregistration failed. Load Balancer Monitoring MBeans might be lying around if this application is being load balanced
    BPEL service engine started
    ADM1064:The upload file at [E:\tempWin\s1astempdomain1server-162970426\Chat-ejb.jar] exists and will be overwritten.
    ADM1006:Uploading the file to:[E:\tempWin\s1astempdomain1server-162970426\Chat-ejb.jar]
    deployed with moduleid = Chat-ejb
    ADM1041:Sent the event to instance:[ModuleDeployEvent -- enable ejb/Chat-ejb]
    endpoint.determine.destinationtype
    NAM0008 : Invalid Destination: jndi/Topic for java:comp/env/jms/Topic
    EJB5090: Exception in creating EJB container [javax.naming.NamingException [Root exception is javax.naming.NameNotFoundException]]
    appId=Chat-ejb moduleName=D__sun_AppServer_domains_domain1_applications_j2ee-modules_Chat-ejb ejbName=publicarBean
    LDR5004: UnExpected error occured while creating ejb container
    javax.naming.NamingException [Root exception is javax.naming.NameNotFoundException]
            at com.sun.enterprise.naming.NamingManagerImpl.bindObjects(NamingManagerImpl.java:485)
            at com.sun.ejb.containers.BaseContainer.setupEnvironment(BaseContainer.java:2628)
            at com.sun.ejb.containers.BaseContainer.<init>(BaseContainer.java:629)
            at com.sun.ejb.containers.StatelessSessionContainer.<init>(StatelessSessionContainer.java:163)
            at com.sun.ejb.containers.ContainerFactoryImpl.createContainer(ContainerFactoryImpl.java:515)
            at com.sun.enterprise.server.AbstractLoader.loadEjbs(AbstractLoader.java:490)
            at com.sun.enterprise.server.EJBModuleLoader.load(EJBModuleLoader.java:158)
            at com.sun.enterprise.server.StandAloneEJBModulesManager.moduleDeployed(StandAloneEJBModulesManager.java:219)
            at com.sun.enterprise.server.StandAloneEJBModulesManager.moduleDeployed(StandAloneEJBModulesManager.java:174)
            at com.sun.enterprise.server.StandAloneEJBModulesManager.moduleDeployed(StandAloneEJBModulesManager.java:406)
            at com.sun.enterprise.server.StandAloneEJBModulesManager.moduleEnabled(StandAloneEJBModulesManager.java:500)
            at com.sun.enterprise.admin.event.AdminEventMulticaster.invokeModuleDeployEventListener(AdminEventMulticaster.java:960)
            at com.sun.enterprise.admin.event.AdminEventMulticaster.handleModuleDeployEvent(AdminEventMulticaster.java:941)
            at com.sun.enterprise.admin.event.AdminEventMulticaster.processEvent(AdminEventMulticaster.java:448)
            at com.sun.enterprise.admin.event.AdminEventMulticaster.multicastEvent(AdminEventMulticaster.java:160)
            at com.sun.enterprise.admin.server.core.AdminNotificationHelper.sendNotification(AdminNotificationHelper.java:128)
            at com.sun.enterprise.admin.server.core.ConfigInterceptor.postInvoke(ConfigInterceptor.java:109)
            at com.sun.enterprise.admin.util.proxy.ProxyClass.invoke(ProxyClass.java:97)
            at $Proxy1.invoke(Unknown Source)
            at com.sun.enterprise.admin.server.core.jmx.SunoneInterceptor.invoke(SunoneInterceptor.java:297)
            at com.sun.enterprise.admin.jmx.remote.server.callers.InvokeCaller.call(InvokeCaller.java:56)
            at com.sun.enterprise.admin.jmx.remote.server.MBeanServerRequestHandler.handle(MBeanServerRequestHandler.java:142)
            at com.sun.enterprise.admin.jmx.remote.server.servlet.RemoteJmxConnectorServlet.processRequest(RemoteJmxConnectorServlet.java:109)
            at com.sun.enterprise.admin.jmx.remote.server.servlet.RemoteJmxConnectorServlet.doPost(RemoteJmxConnectorServlet.java:180)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
            at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:397)
            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:184)
            at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:174)
            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:216)
            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:184)
            at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:276)
            at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
            at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:536)
            at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:240)
            at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:179)
            at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
            at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:73)
            at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:182)
            at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
            at com.sun.enterprise.web.VirtualServerPipeline.invoke(VirtualServerPipeline.java:120)
            at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:939)
            at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:137)
            at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
            at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:536)
            at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:939)
            at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:239)
            at com.sun.enterprise.web.connector.grizzly.ProcessorTask.invokeAdapter(ProcessorTask.java:667)
            at com.sun.enterprise.web.connector.grizzly.ProcessorTask.processNonBlocked(ProcessorTask.java:574)
            at com.sun.enterprise.web.connector.grizzly.ProcessorTask.process(ProcessorTask.java:844)
            at com.sun.enterprise.web.connector.grizzly.ReadTask.executeProcessorTask(ReadTask.java:287)
            at com.sun.enterprise.web.connector.grizzly.ReadTask.doTask(ReadTask.java:212)
            at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:252)
            at com.sun.enterprise.web.connector.grizzly.WorkerThread.run(WorkerThread.java:75)
    Caused by: javax.naming.NameNotFoundException
            at com.sun.enterprise.naming.TransientContext.resolveContext(TransientContext.java:255)
            at com.sun.enterprise.naming.TransientContext.lookup(TransientContext.java:178)
            at com.sun.enterprise.naming.SerialContextProviderImpl.lookup(SerialContextProviderImpl.java:61)
            at com.sun.enterprise.naming.LocalSerialContextProviderImpl.lookup(LocalSerialContextProviderImpl.java:98)
            at com.sun.enterprise.naming.SerialContext.lookup(SerialContext.java:309)
            at javax.naming.InitialContext.lookup(InitialContext.java:392)
            at com.sun.enterprise.naming.NamingManagerImpl.bindObjects(NamingManagerImpl.java:469)
            ... 54 more
    CORE5020: Error while loading ejb module
    {code}
    I know it is very large. I think the error it is in this line.
    {code}
    NAM0008 : Invalid Destination: jndi/Topic for java:comp/env/jms/Topic
    EJB5090: Exception in creating EJB container [javax.naming.NamingException [Root exception is javax.naming.NameNotFoundException]]
    {code}
    also I am going to put the code.
    file PublicarBean.java
    {code}
    package org.pepes;
    import com.sun.tools.ws.processor.model.java.JavaArrayType;
    import javax.annotation.Resource;
    import javax.ejb.SessionContext;
    import javax.ejb.Stateless;
    import javax.jms.ConnectionFactory;
    import javax.jms.QueueConnectionFactory;
    import javax.jms.Topic;
    import javax.naming.NamingException;
    * @author pepes
    @Stateless(mappedName="ejb/publicar")
    public class publicarBean implements org.pepes.publicarRemote {
        /** Creates a new instance of publicarBean */
        @Resource(name="jms/QueueConnectionFactory")
        private QueueConnectionFactory connectionFactory;
        @Resource(name="jms/Topic", mappedName="jndi/Topic")
        private Topic topic;
        private javax.naming.InitialContext ctx;
        public publicarBean() {
        public void creaMensaje() throws javax.naming.NamingException , javax.jms.JMSException {
            try {       
                javax.naming.InitialContext ctx = new javax.naming.InitialContext();
                this.connectionFactory = (javax.jms.QueueConnectionFactory)ctx.lookup("jms/QueueConnectionFactory");
                this.topic = (javax.jms.Topic)ctx.lookup("jms/Topic");
                javax.jms.Connection connection = this.connectionFactory.createConnection();
                javax.jms.TopicSession ts = (javax.jms.TopicSession)connection.createSession(false, javax.jms.Session.AUTO_ACKNOWLEDGE);
                javax.jms.TopicPublisher tp = ts.createPublisher(this.topic);
                javax.jms.TextMessage msg = ts.createTextMessage();
                for (int i = 0; i<3;i++) {
                    msg.setText("Prueba: " + i);
                    tp.publish(msg);
            catch (javax.jms.JMSException jmex) {
                throw jmex;
    {code}
    the file publicarRemote.java
    {code}
    package org.pepes;
    import javax.ejb.Remote;
    * This is the business interface for publicar enterprise bean.
    @Remote
    public interface publicarRemote {
         public void creaMensaje() throws javax.naming.NamingException , javax.jms.JMSException;
    {code}
    file mensaje.java
    {code}
    package org.pepes;
    import javax.annotation.Resource;
    import javax.ejb.ActivationConfigProperty;
    import javax.ejb.MessageDriven;
    import javax.ejb.MessageDrivenContext;
    import javax.jms.Message;
    import javax.jms.MessageListener;
    * Entity class Mensaje
    * @author pepes
    @MessageDriven(mappedName = "jms/Mensaje", activationConfig =  {
            @ActivationConfigProperty(propertyName = "acknowledgeMode", propertyValue = "Auto-acknowledge"),
            @ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue")
    public class Mensaje implements MessageListener {
        /** Creates a new instance of Mensaje */
        @Resource
        private MessageDrivenContext mdc;
        public Mensaje() {
        public void onMessage(Message message) {
            javax.jms.TextMessage msg = null;
            try {
                if (message instanceof javax.jms.TextMessage) {
                    msg = (javax.jms.TextMessage) message;
                    System.out.println(msg.getText());
                } else {
                    System.out.println("Message of wrong type: "
                            + message.getClass().getName());
            } catch (javax.jms.JMSException e) {
                e.printStackTrace();
                mdc.setRollbackOnly();
            } catch (Throwable te) {
                te.printStackTrace();
    {code}
    the file prueba.jsp
    {code}
    <%@page contentType="text/html"%>
    <%@page pageEncoding="UTF-8"%>
    <%--
    The taglib directive below imports the JSTL library. If you uncomment it,
    you must also add the JSTL library to the project. The Add Library... action
    on Libraries node in Projects view can be used to add the JSTL 1.1 library.
    --%>
    <%--
    <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
    --%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
       "http://www.w3.org/TR/html4/loose.dtd">
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
            <title>JSP Page</title>
        </head>
        <body>
        <h1>JSP Page</h1>
        <%--
        This example uses JSTL, uncomment the taglib directive above.
        To test, display the page like this: index.jsp?sayHello=true&name=Murphy
        --%>
        <%--
        <c:if test="${param.sayHello}">
            <!-- Let's welcome the user ${param.name} -->
            Hello ${param.name}!
        </c:if>
        --%>
        <%    
            try {
            javax.naming.InitialContext ctx = new javax.naming.InitialContext();
            org.pepes.publicarRemote publisher = (org.pepes.publicarRemote)ctx.lookup("ejb/publicar");
            if (publisher==null) {
                System.out.println("INFO: Es null");
            else {
                System.out.println("INFO: No es null");
            publisher.creaMensaje();
            } catch (javax.naming.NamingException ex) {
                System.out.println("ERROR naming: " + ex.getMessage());
            catch (javax.jms.JMSException jmex) {
                System.out.println("ERROR jms: " + jmex.getMessage());
            catch (java.lang.NullPointerException nullex) {
                System.out.println("ERROR null: " + nullex.getMessage());
    %>
        </body>
    </html>
    {code}
    I think the problem is because i don't put destination address. if it is so, the true where do I put this address?. if not where is the problem?
    I hope your help.
    Thanks you  in advanced.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    

    Hi,
    Did you create your destinations in your application server? It seems that the destinations such as topics and queues are not created. First you should create them and then start using them.
    For example, in here, it says that jndi/Topic is not valid. To check if the destinations are valid or not; you can do it either through the graphical user interface or the command line console.

  • RE: multiple named objects with the same name andinterface

    David,
    First I will start by saying that this can be done by using named anchored
    objects and registering them yourself in the name service. There is
    documentation on how to do this. And by default you will get most of the
    behavior you desire. When you do a lookup in the name service (BindObject
    method) it will first look in the local partition and see if there is a
    local copy and give you that copy. By anchoring the object and manually
    registering it in the name service you are programmatically creating your
    own SO without defining it as such in the development environment. BTW in
    response to your item number 1. This should be the case there as well. If
    your "mobile" object is in the same partition where the service object he is
    calling resides, you should get a handle to the local instance of the
    service object.
    Here is the catch, if you make a bind object call and there is no local copy
    you will get a handle to a remote copy but you can not be sure which one!
    It end ups as more or less a random selection. Off the top of my head and
    without going to the doc, I am pretty sure that when you register an
    anchored object you can not limit it's visibility to "User".
    Sean
    -----Original Message-----
    From: [email protected]
    [<a href="mailto:[email protected]">mailto:[email protected]]On</a> Behalf Of David Foote
    Sent: Monday, June 22, 1998 4:51 PM
    To: [email protected]
    Subject: multiple named objects with the same name and interface
    All,
    More than once, I have wished that Forte allowed you to place named
    objects with the same name in more than one partition. There are two
    situations in which this seems desirable:
    1) Objects that are not distributed, but are mobile (passed by value to
    remote objects), cannot safely reference a Service Object unless it has
    environment visibility, but this forces the overhead of a remote method
    call when it might not otherwise be necessary. If it were possible to
    place a copy of the same Service Object (with user visibility) in each
    partition, the overhead of a remote method call could be avoided. This
    would only be useful for a service object whose state could be safely
    replicated.
    2) My second scenario also involves mobile objects referencing a Service
    Object, but this time I would like the behavior of the called Service
    Object to differ with the partition from which it is called.
    This could be accomplished by placing Service Objects with the same name
    and the same interface in each partition, but varying the implementation
    with the partition.
    Does anyone have any thoughts about why this would be a good thing or a
    bad thing?
    David N. Foote
    Consultant
    Get Your Private, Free Email at <a href=
    "http://www.hotmail.com">http://www.hotmail.com</a>
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive <URL:<a href=
    "http://pinehurst.sageit.com/listarchive/">http://pinehurst.sageit.com/listarchive/</a>>
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive <URL:<a href=
    "http://pinehurst.sageit.com/listarchive/">http://pinehurst.sageit.com/listarchive/</a>>

    David,
    First I will start by saying that this can be done by using named anchored
    objects and registering them yourself in the name service. There is
    documentation on how to do this. And by default you will get most of the
    behavior you desire. When you do a lookup in the name service (BindObject
    method) it will first look in the local partition and see if there is a
    local copy and give you that copy. By anchoring the object and manually
    registering it in the name service you are programmatically creating your
    own SO without defining it as such in the development environment. BTW in
    response to your item number 1. This should be the case there as well. If
    your "mobile" object is in the same partition where the service object he is
    calling resides, you should get a handle to the local instance of the
    service object.
    Here is the catch, if you make a bind object call and there is no local copy
    you will get a handle to a remote copy but you can not be sure which one!
    It end ups as more or less a random selection. Off the top of my head and
    without going to the doc, I am pretty sure that when you register an
    anchored object you can not limit it's visibility to "User".
    Sean
    -----Original Message-----
    From: [email protected]
    [<a href="mailto:[email protected]">mailto:[email protected]]On</a> Behalf Of David Foote
    Sent: Monday, June 22, 1998 4:51 PM
    To: [email protected]
    Subject: multiple named objects with the same name and interface
    All,
    More than once, I have wished that Forte allowed you to place named
    objects with the same name in more than one partition. There are two
    situations in which this seems desirable:
    1) Objects that are not distributed, but are mobile (passed by value to
    remote objects), cannot safely reference a Service Object unless it has
    environment visibility, but this forces the overhead of a remote method
    call when it might not otherwise be necessary. If it were possible to
    place a copy of the same Service Object (with user visibility) in each
    partition, the overhead of a remote method call could be avoided. This
    would only be useful for a service object whose state could be safely
    replicated.
    2) My second scenario also involves mobile objects referencing a Service
    Object, but this time I would like the behavior of the called Service
    Object to differ with the partition from which it is called.
    This could be accomplished by placing Service Objects with the same name
    and the same interface in each partition, but varying the implementation
    with the partition.
    Does anyone have any thoughts about why this would be a good thing or a
    bad thing?
    David N. Foote
    Consultant
    Get Your Private, Free Email at <a href=
    "http://www.hotmail.com">http://www.hotmail.com</a>
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive <URL:<a href=
    "http://pinehurst.sageit.com/listarchive/">http://pinehurst.sageit.com/listarchive/</a>>
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive <URL:<a href=
    "http://pinehurst.sageit.com/listarchive/">http://pinehurst.sageit.com/listarchive/</a>>

  • RE: Named anchored objects

    Albert,
    In my case I was using a named anchored object to get a handle to an actual
    service object. My named object that I registered in the name service was
    an intermediary to which I did not maintain a connection. So I have not
    explicitly tested what you are asking.
    However, I too was not using a hard coded reference to the SO, and fail over
    and load balancing worked fine. The functions of fail over and load
    balancing are not done by the service object but by the name service, proxy
    and router. Since you are getting a proxy back any time you do a lookup in
    the name service I would think that fail over should work with any anchored
    object that is registered in the name service. When you do a RegisterObject
    call you will notice that one of the arguments is the session duration,
    which implies to me that fail over will be handled the same as for service
    objects.
    Load balancing adds another wrinkle. Load balancing is handled by a router.
    You must get a proxy to the router and not a proxy to an instance of the
    object that the router is doing the load balancing for. In the latter
    scenario you will be bypassing the router. If you are creating, anchoring
    and registering your objects dynamically you will not have a router so you
    will not be able to load balance! This applies even if the objects are
    instantiated within partitions that are load balanced because you will still
    be getting proxies back to a particular instance of the anchored objects.
    There are ways to accomplish load balancing between objects that you
    register yourself. However, the best solution will vary depending on the
    actual problem trying to be solved. If you would like to discuss this
    further, include a little more detail about the scenario you need to
    implement and I will give you what I know.
    BTY what I have outlined above also applies to getting references via a
    system agent.
    Sean
    Cornice Consulting, Inc.
    -----Original Message-----
    From: [email protected]
    [<a href="mailto:[email protected]">mailto:[email protected]]On</a> Behalf Of Albert Dijk
    Sent: Friday, July 03, 1998 11:01 AM
    To: [email protected]
    Subject:
    Alex, David, Jez, Sean,...
    My question about both solutions (using Nameservice and agents) is:
    If I reach a remote service object using either a BindObject or an agent, do
    fail-over and load-balancing work the same way as they normally do when
    using a hard coded reference to the SO.
    Albert Dijk
    From: Sean Brown[SMTP:[email protected]]
    Reply To: [email protected]
    Sent: Thursday, June 25, 1998 6:55 AM
    To: Ananiev, Alex; [email protected]
    Subject: RE: multiple named objects with the same name and
    interface
    Alexander,
    I can not comment on the speed difference because I never tested it.
    But, I
    will say that we looked at the agent solution at a client sight
    before. I
    will give the same warning I gave them. If you go the agent direction
    you
    are now using agents for a purpose that they were not intended. Even
    though
    it technically works, as soon as you start using a piece of
    functionality in
    a way the developer did not intend it to be used you run the risk of
    forward
    compatibility problems. By this I mean, since agents were not
    originally
    intended to be used to look up service / anchored object references,
    it may
    not work in the future because it is not likely to be given
    consideration in
    any future design.
    As we all know, programmers are always stretching the bounds of the
    tools
    they use and you may have a good reason (i.e. performance). I just
    wanted to
    let you know the possible risk.
    One final note on a limitation of using system agents to obtain
    references
    to anchored objects. You can not access agents across environments.
    So, if
    you have connected environments and need to get references to services
    in
    another environment for fail-over or whatever, you will not be able to
    do it
    with agents.
    Just some thoughts!
    Sean
    -----Original Message-----
    From: [email protected]
    [<a href="mailto:[email protected]]On">mailto:[email protected]]On</a> Behalf Of Ananiev, Alex
    Sent: Wednesday, June 24, 1998 12:14 PM
    To: '[email protected]'
    Subject: RE: multiple named objects with the same name and interface
    David,
    The problem with dynamic binding is that in this case you have to keep
    the reference to the service object somewhere. You don't want to call
    "bindObject" every time you need to use this service object, "bind" is
    a
    time-consuming operation, even on the same partition. Keeping
    reference
    could be undesirable if your object could be moved across partitions
    (e.g. business object).
    The alternative solution is to use agents. You can create custom
    agent,
    make it a subagent of an active partition agent and use it as a
    placeholder for whatever service you need. "FindSubAgent" works much
    faster than "bindObject", we verified that and agent is "user-visible"
    by its nature.
    Alexander
    From: "Sean Brown" <[email protected]>
    Date: Wed, 24 Jun 1998 09:12:55 -0500
    Subject: RE: multiple named objects with the same name and interface
    David,
    I actually determined it through testing. In my case I did not want
    this to
    happen and was trying to determine why it was happing. It makes sense
    if
    you think about it. Forte is trying to avoid making a remote method
    invocation if it can.
    Now, for anything more complex than looking locally first and if none
    is
    found give me any remote instance you can find, you will need to do
    more
    work. Using a naming scheme like Jez suggests below works well.
    Sean
    - -----Original Message-----
    From: Jez Sygrove [<a href="mailto:[email protected]">mailto:[email protected]</a>]
    Sent: Wednesday, June 24, 1998 4:34 AM
    To: [email protected]; 'David Foote'
    Cc: [email protected]
    Subject: RE: multiple named objects with the same name and interface
    David,
    there's a mechanism used within SCAFFOLDS that allows the
    location of the 'nearest' SO when more than one is available.
    It involves registering each duplicated SO under three dynamically
    built
    names. The names include the partition, the node or the environment
    name.
    When wishing to locate the nearest SO the BO builds a SO name using
    its
    own partition and asks the name service for that.
    If there is an SO registered under that name then it must be in the
    same
    partition and all is well. No cross partition calls.
    If not, then the BO builds the name using its node and asks the name
    service for that.
    This means that if there is an SO outside the BO partition but still
    on
    the same node then this can be used. Again, relatively 'local'.
    If neither of these work then the BO has to resort to an environment
    wide search.
    It may be that this approach could be adapted / adopted; I like it's
    ingenuity.
    Cheers,
    Jez
    From: David Foote[SMTP:[email protected]]
    Reply To: David Foote
    Sent: 24 June 1998 03:17
    To: [email protected]
    Cc: [email protected]
    Subject: RE: multiple named objects with the same name and
    interface
    Sean,
    First, thank you for your response. I have wondered about this fora
    long time.
    I looked at the documentation for ObjectLocationManager and on page
    327
    of the Framework Library and AppletSupport Library Guide indescribing
    the BindObject method Forte says:
    "The name service allows more than one anchored object (from
    different
    partitions) to be registered in the name service under the same
    registration name. When you invoke the BindObject method with a
    request
    for a name that has duplicate registration entries, the BindObject
    method finds an entry corresponding to an active partition, skipping
    any
    entries that do not. If no such active partition is found, or if the
    requested name is not found in the name service registry, a
    RemoteAccessException will be raised when the BindObject method is
    invoked."
    My question is: How did you discover that in the case of duplicate
    registrations the naming service will return the local object if one
    exists? This is not apparent from the documentation I have quoted.
    Is
    it documented elsewhere? Or did you determine it empirically?
    David N. Foote,
    Consultant
    ----Original Message Follows----
    David,
    First I will start by saying that this can be done by using named
    anchored
    objects and registering them yourself in the name service. There is
    documentation on how to do this. And by default you will get mostof
    the
    behavior you desire. When you do a lookup in the name service
    (BindObject
    method) it will first look in the local partition and see if thereis
    a
    local copy and give you that copy. By anchoring the object and
    manually
    registering it in the name service you are programmatically creating
    your
    own SO without defining it as such in the development environment.
    BTW
    in
    response to your item number 1. This should be the case there as
    well.
    If
    your "mobile" object is in the same partition where the serviceobject
    he is
    calling resides, you should get a handle to the local instance ofthe
    service object.
    Here is the catch, if you make a bind object call and there is no
    local
    copy
    you will get a handle to a remote copy but you can not be sure which
    one!
    It end ups as more or less a random selection. Off the top of myhead
    and
    without going to the doc, I am pretty sure that when you register an
    anchored object you can not limit it's visibility to "User".
    Sean
    -----Original Message-----
    From: [email protected]
    [<a href=
    "mailto:[email protected]]On">mailto:[email protected]]On</a> Behalf Of David Foote
    Sent: Monday, June 22, 1998 4:51 PM
    To: [email protected]
    Subject: multiple named objects with the same name and interface
    All,
    More than once, I have wished that Forte allowed you to place named
    objects with the same name in more than one partition. There aretwo
    situations in which this seems desirable:
    1) Objects that are not distributed, but are mobile (passed by value
    to
    remote objects), cannot safely reference a Service Object unless it
    has
    environment visibility, but this forces the overhead of a remote
    method
    call when it might not otherwise be necessary. If it were possibleto
    place a copy of the same Service Object (with user visibility) ineach
    partition, the overhead of a remote method call could be avoided.
    This
    would only be useful for a service object whose state could besafely
    replicated.
    2) My second scenario also involves mobile objects referencing a
    Service
    Object, but this time I would like the behavior of the calledService
    Object to differ with the partition from which it is called.
    This could be accomplished by placing Service Objects with the same
    name
    and the same interface in each partition, but varying the
    implementation
    with the partition.
    Does anyone have any thoughts about why this would be a good thingor
    a
    bad thing?
    David N. Foote
    Consultant
    Alexander Ananiev
    Claremont Technology Group
    916-558-4127
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive
    <URL:<a href="http://pinehurst.sageit.com/listarchive/">http://pinehurst.sageit.com/listarchive/</a>>
    >
    >
    >
    Alexander Ananiev
    Claremont Technology Group
    916-558-4127
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive <URL:<a href=
    "http://pinehurst.sageit.com/listarchive/">http://pinehurst.sageit.com/listarchive/</a>>
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive <URL:<a href=
    "http://pinehurst.sageit.com/listarchive/">http://pinehurst.sageit.com/listarchive/</a>>

    Albert,
    In my case I was using a named anchored object to get a handle to an actual
    service object. My named object that I registered in the name service was
    an intermediary to which I did not maintain a connection. So I have not
    explicitly tested what you are asking.
    However, I too was not using a hard coded reference to the SO, and fail over
    and load balancing worked fine. The functions of fail over and load
    balancing are not done by the service object but by the name service, proxy
    and router. Since you are getting a proxy back any time you do a lookup in
    the name service I would think that fail over should work with any anchored
    object that is registered in the name service. When you do a RegisterObject
    call you will notice that one of the arguments is the session duration,
    which implies to me that fail over will be handled the same as for service
    objects.
    Load balancing adds another wrinkle. Load balancing is handled by a router.
    You must get a proxy to the router and not a proxy to an instance of the
    object that the router is doing the load balancing for. In the latter
    scenario you will be bypassing the router. If you are creating, anchoring
    and registering your objects dynamically you will not have a router so you
    will not be able to load balance! This applies even if the objects are
    instantiated within partitions that are load balanced because you will still
    be getting proxies back to a particular instance of the anchored objects.
    There are ways to accomplish load balancing between objects that you
    register yourself. However, the best solution will vary depending on the
    actual problem trying to be solved. If you would like to discuss this
    further, include a little more detail about the scenario you need to
    implement and I will give you what I know.
    BTY what I have outlined above also applies to getting references via a
    system agent.
    Sean
    Cornice Consulting, Inc.
    -----Original Message-----
    From: [email protected]
    [<a href="mailto:[email protected]">mailto:[email protected]]On</a> Behalf Of Albert Dijk
    Sent: Friday, July 03, 1998 11:01 AM
    To: [email protected]
    Subject:
    Alex, David, Jez, Sean,...
    My question about both solutions (using Nameservice and agents) is:
    If I reach a remote service object using either a BindObject or an agent, do
    fail-over and load-balancing work the same way as they normally do when
    using a hard coded reference to the SO.
    Albert Dijk
    From: Sean Brown[SMTP:[email protected]]
    Reply To: [email protected]
    Sent: Thursday, June 25, 1998 6:55 AM
    To: Ananiev, Alex; [email protected]
    Subject: RE: multiple named objects with the same name and
    interface
    Alexander,
    I can not comment on the speed difference because I never tested it.
    But, I
    will say that we looked at the agent solution at a client sight
    before. I
    will give the same warning I gave them. If you go the agent direction
    you
    are now using agents for a purpose that they were not intended. Even
    though
    it technically works, as soon as you start using a piece of
    functionality in
    a way the developer did not intend it to be used you run the risk of
    forward
    compatibility problems. By this I mean, since agents were not
    originally
    intended to be used to look up service / anchored object references,
    it may
    not work in the future because it is not likely to be given
    consideration in
    any future design.
    As we all know, programmers are always stretching the bounds of the
    tools
    they use and you may have a good reason (i.e. performance). I just
    wanted to
    let you know the possible risk.
    One final note on a limitation of using system agents to obtain
    references
    to anchored objects. You can not access agents across environments.
    So, if
    you have connected environments and need to get references to services
    in
    another environment for fail-over or whatever, you will not be able to
    do it
    with agents.
    Just some thoughts!
    Sean
    -----Original Message-----
    From: [email protected]
    [<a href="mailto:[email protected]]On">mailto:[email protected]]On</a> Behalf Of Ananiev, Alex
    Sent: Wednesday, June 24, 1998 12:14 PM
    To: '[email protected]'
    Subject: RE: multiple named objects with the same name and interface
    David,
    The problem with dynamic binding is that in this case you have to keep
    the reference to the service object somewhere. You don't want to call
    "bindObject" every time you need to use this service object, "bind" is
    a
    time-consuming operation, even on the same partition. Keeping
    reference
    could be undesirable if your object could be moved across partitions
    (e.g. business object).
    The alternative solution is to use agents. You can create custom
    agent,
    make it a subagent of an active partition agent and use it as a
    placeholder for whatever service you need. "FindSubAgent" works much
    faster than "bindObject", we verified that and agent is "user-visible"
    by its nature.
    Alexander
    From: "Sean Brown" <[email protected]>
    Date: Wed, 24 Jun 1998 09:12:55 -0500
    Subject: RE: multiple named objects with the same name and interface
    David,
    I actually determined it through testing. In my case I did not want
    this to
    happen and was trying to determine why it was happing. It makes sense
    if
    you think about it. Forte is trying to avoid making a remote method
    invocation if it can.
    Now, for anything more complex than looking locally first and if none
    is
    found give me any remote instance you can find, you will need to do
    more
    work. Using a naming scheme like Jez suggests below works well.
    Sean
    - -----Original Message-----
    From: Jez Sygrove [<a href="mailto:[email protected]">mailto:[email protected]</a>]
    Sent: Wednesday, June 24, 1998 4:34 AM
    To: [email protected]; 'David Foote'
    Cc: [email protected]
    Subject: RE: multiple named objects with the same name and interface
    David,
    there's a mechanism used within SCAFFOLDS that allows the
    location of the 'nearest' SO when more than one is available.
    It involves registering each duplicated SO under three dynamically
    built
    names. The names include the partition, the node or the environment
    name.
    When wishing to locate the nearest SO the BO builds a SO name using
    its
    own partition and asks the name service for that.
    If there is an SO registered under that name then it must be in the
    same
    partition and all is well. No cross partition calls.
    If not, then the BO builds the name using its node and asks the name
    service for that.
    This means that if there is an SO outside the BO partition but still
    on
    the same node then this can be used. Again, relatively 'local'.
    If neither of these work then the BO has to resort to an environment
    wide search.
    It may be that this approach could be adapted / adopted; I like it's
    ingenuity.
    Cheers,
    Jez
    From: David Foote[SMTP:[email protected]]
    Reply To: David Foote
    Sent: 24 June 1998 03:17
    To: [email protected]
    Cc: [email protected]
    Subject: RE: multiple named objects with the same name and
    interface
    Sean,
    First, thank you for your response. I have wondered about this fora
    long time.
    I looked at the documentation for ObjectLocationManager and on page
    327
    of the Framework Library and AppletSupport Library Guide indescribing
    the BindObject method Forte says:
    "The name service allows more than one anchored object (from
    different
    partitions) to be registered in the name service under the same
    registration name. When you invoke the BindObject method with a
    request
    for a name that has duplicate registration entries, the BindObject
    method finds an entry corresponding to an active partition, skipping
    any
    entries that do not. If no such active partition is found, or if the
    requested name is not found in the name service registry, a
    RemoteAccessException will be raised when the BindObject method is
    invoked."
    My question is: How did you discover that in the case of duplicate
    registrations the naming service will return the local object if one
    exists? This is not apparent from the documentation I have quoted.
    Is
    it documented elsewhere? Or did you determine it empirically?
    David N. Foote,
    Consultant
    ----Original Message Follows----
    David,
    First I will start by saying that this can be done by using named
    anchored
    objects and registering them yourself in the name service. There is
    documentation on how to do this. And by default you will get mostof
    the
    behavior you desire. When you do a lookup in the name service
    (BindObject
    method) it will first look in the local partition and see if thereis
    a
    local copy and give you that copy. By anchoring the object and
    manually
    registering it in the name service you are programmatically creating
    your
    own SO without defining it as such in the development environment.
    BTW
    in
    response to your item number 1. This should be the case there as
    well.
    If
    your "mobile" object is in the same partition where the serviceobject
    he is
    calling resides, you should get a handle to the local instance ofthe
    service object.
    Here is the catch, if you make a bind object call and there is no
    local
    copy
    you will get a handle to a remote copy but you can not be sure which
    one!
    It end ups as more or less a random selection. Off the top of myhead
    and
    without going to the doc, I am pretty sure that when you register an
    anchored object you can not limit it's visibility to "User".
    Sean
    -----Original Message-----
    From: [email protected]
    [<a href=
    "mailto:[email protected]]On">mailto:[email protected]]On</a> Behalf Of David Foote
    Sent: Monday, June 22, 1998 4:51 PM
    To: [email protected]
    Subject: multiple named objects with the same name and interface
    All,
    More than once, I have wished that Forte allowed you to place named
    objects with the same name in more than one partition. There aretwo
    situations in which this seems desirable:
    1) Objects that are not distributed, but are mobile (passed by value
    to
    remote objects), cannot safely reference a Service Object unless it
    has
    environment visibility, but this forces the overhead of a remote
    method
    call when it might not otherwise be necessary. If it were possibleto
    place a copy of the same Service Object (with user visibility) ineach
    partition, the overhead of a remote method call could be avoided.
    This
    would only be useful for a service object whose state could besafely
    replicated.
    2) My second scenario also involves mobile objects referencing a
    Service
    Object, but this time I would like the behavior of the calledService
    Object to differ with the partition from which it is called.
    This could be accomplished by placing Service Objects with the same
    name
    and the same interface in each partition, but varying the
    implementation
    with the partition.
    Does anyone have any thoughts about why this would be a good thingor
    a
    bad thing?
    David N. Foote
    Consultant
    Alexander Ananiev
    Claremont Technology Group
    916-558-4127
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive
    <URL:<a href="http://pinehurst.sageit.com/listarchive/">http://pinehurst.sageit.com/listarchive/</a>>
    >
    >
    >
    Alexander Ananiev
    Claremont Technology Group
    916-558-4127
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive <URL:<a href=
    "http://pinehurst.sageit.com/listarchive/">http://pinehurst.sageit.com/listarchive/</a>>
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive <URL:<a href=
    "http://pinehurst.sageit.com/listarchive/">http://pinehurst.sageit.com/listarchive/</a>>

  • Error in Starting J2EE server

    Hi,
    This is what I get when I start j2ee -verbose.
    I am using JDK1.3 and J2EESDK1.3.1
    Any Help..
    Thanx
    J2EE server listen port: 9999
    Naming service started:9999
    Exception in thread "main" java.lang.NoSuchMethodError
    at com.sun.corba.ee.internal.corba.AnyImpl.createTypeCodeForClass(AnyImpl.java:1256)
    at com.sun.corba.ee.internal.iiop.ShutdownUtilDelegate.createTypeCode(ShutdownUtilDelegate.ja
    va:223)
    at com.sun.corba.ee.internal.iiop.ShutdownUtilDelegate.writeAny(ShutdownUtilDelegate.java:178
    at javax.rmi.CORBA.Util.writeAny(Util.java:80)
    at org.omg.stub.com.sun.enterprise.naming._SerialContextProvider_Stub.rebind(Unknown Source)
    at com.sun.enterprise.naming.SerialContext.rebind(SerialContext.java:188)
    at com.sun.enterprise.naming.SerialContext.rebind(SerialContext.java:202)
    at javax.naming.InitialContext.rebind(InitialContext.java:370)
    at com.sun.enterprise.naming.NamingManagerImpl.publishObject(NamingManagerImpl.java:192)
    at com.sun.enterprise.naming.NamingManagerImpl.publishObject(NamingManagerImpl.java:149)
    at com.sun.enterprise.server.J2EEServer.bindObject(J2EEServer.java:718)
    at com.sun.enterprise.server.J2EEServer.createServerObject(J2EEServer.java:473)
    at com.sun.enterprise.server.J2EEServer.run(J2EEServer.java:244)
    at com.sun.enterprise.server.J2EEServer.main(J2EEServer.java:972)
    ************************************************************************

    you have to use jdk1.3.1_02 (03)

  • ERROR WHILE STARTING J2EE SERVER IN COMMAND PROMPT

    C:\j2sdkee1.3.1\bin>j2ee -verbose
    J2EE server listen port: 1050
    Naming service started:1050
    Exception in thread "main" java.lang.NoSuchMethodError
    at com.sun.corba.ee.internal.corba.AnyImpl.createTypeCodeForClass(AnyImpl.java:1256)
    at com.sun.corba.ee.internal.iiop.ShutdownUtilDelegate.createTypeCode(ShutdownUtilDelegate.java:223)
    at com.sun.corba.ee.internal.iiop.ShutdownUtilDelegate.writeAny(ShutdownUtilDelegate.java:178)
    at javax.rmi.CORBA.Util.writeAny(Util.java:80)
    at org.omg.stub.com.sun.enterprise.naming._SerialContextProvider_Stub.rebind(Unknown Source)
    at com.sun.enterprise.naming.SerialContext.rebind(SerialContext.java:188)
    at com.sun.enterprise.naming.SerialContext.rebind(SerialContext.java:202)
    at javax.naming.InitialContext.rebind(InitialContext.java:370)
    at com.sun.enterprise.naming.NamingManagerImpl.publishObject(NamingManagerImpl.java:192)
    at com.sun.enterprise.naming.NamingManagerImpl.publishObject(NamingManagerImpl.java:149)
    at com.sun.enterprise.server.J2EEServer.bindObject(J2EEServer.java:718)
    at com.sun.enterprise.server.J2EEServer.createServerObject(J2EEServer.java:473)
    at com.sun.enterprise.server.J2EEServer.run(J2EEServer.java:244)
    ANY DETAILS POST
    REGARDS
    VENKAT

    I had the same problem overhere.
    If you would have taken the time to read some topics on this forum you would have found dozens of others having this problem like
    http://forum.java.sun.com/thread.jsp?forum=136&thread=280211
    Which gave the answer for me
    That was: install the jdk141 and UNDEFINE any classpath and cpath in you environment setting.
    HTH
    Xiffy

  • Sun J2EE SDK 1.3_01, java.lang.ClassCastException thrown during deployment

    I encountered a bug while using the deploytool to deploy
    an EAR file to the Sun J2EE 1.3_01 server.
    I submitted a bug report to Sun via the Sun Java Developer Connection.
    (Sorry, it has not been assigned a BugID yet)
    Question:
    Does anybody know if the web container in Sun's
    J2EE 1.3_01 server supports access to local enterprise beans?
    Screenshots of the bug are available at
    http://sync4j.sourceforge.net/deploymentbug/
    Full details below....
    -Sean
    category: j2ee
    subcategory: deployment
    release: 1.3_01
    hardware: x86
    OSversion: windows_2000
    synopsis: java.lang.ClassCastException thrown during deployment of Session bean
    java -version
    java version "1.3.1_01"
    Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.1_01)
    Java HotSpot(TM) Client VM (build 1.3.1_01, mixed mode)
    C:\j2sdkee1.3\bin>j2ee -version
    Java 2 Enterprise Edition version 1.3_01, build 1.3_01-b01
    I built a EJB 2.0 compliant stateful session bean.
    The session bean has a remote interface (ISyncRemote),
    a remote home interface (ISyncHomeRemote),
    a local interface (ISyncLocal),
    and a local home interface (ISyncHomeLocal).
    I built an HTTP Servlet that is supposed to access
    the Stateful Session Bean using ISyncHomeLocal and
    ISyncLocal
    I run "deploytool.bat" in GUI mode to perform the deployment.
    During deployment, the deploytool GUI displays a message
    box which states:
    "There was a deployment error.
    java.rmi.ServerException: RemoteException occurred in server thread;
    nested exception is:
    java.rmi.RemoteException: An error was encountered while loading
    a web component.
    Please refer to
    <J2EE_HOME>/logs/<machine-name>/j2ee//j2ee/error.log
    for more information. Please verify your Application with the
    Verifier tool."
    The "error.log" file did not contain any useful information.
    I ran the J2EE "verifier.bat" tool to verify that my EAR archive is OK.
    The Sun J2EE server output this error string:
    "java.lang.ClassCastException:
    com.sun.enterprise.deployment.EjbExternalDescriptor"
    Here is the full output from the Sun J2EE server:
    C:\j2sdkee1.3\bin>j2ee -verbose
    J2EE server listen port: 1050
    Naming service started:1050
    Binding DataSource, name = jdbc/EstoreDB, url =
    jdbc:cloudscape:rmi:CloudscapeDB;create=true
    Binding DataSource, name = jdbc/Cloudscape, url =
    jdbc:cloudscape:rmi:CloudscapeDB;create=true
    Binding DataSource, name = jdbc/DB1, url =
    jdbc:cloudscape:rmi:CloudscapeDB;create=true
    Binding DataSource, name = jdbc/DB2, url =
    jdbc:cloudscape:rmi:CloudscapeDB;create=true
    Binding DataSource, name = jdbc/InventoryDB, url =
    jdbc:cloudscape:rmi:CloudscapeDB;create=true
    Binding DataSource, name = jdbc/XACloudscape, url = jdbc/XACloudscape__xa
    Binding DataSource, name = jdbc/XACloudscape__xa, dataSource =
    COM.cloudscape.core.RemoteXaDataSourc
    e@245536
    Starting JMS service...
    Initialization complete - waiting for client requests
    Binding: < JMS Destination : jms/Queue , javax.jms.Queue >
    Binding: < JMS Destination : jms/Topic , javax.jms.Topic >
    Binding: < JMS Cnx Factory : TopicConnectionFactory , Topic , No properties >
    Binding: < JMS Cnx Factory : jms/TopicConnectionFactory , Topic , No properties
    >
    Binding: < JMS Cnx Factory : QueueConnectionFactory , Queue , No properties >
    Binding: < JMS Cnx Factory : jms/QueueConnectionFactory , Queue , No properties
    >
    Starting web service at port: 8000
    Starting secure web service at port: 7000
    J2EE SDK/1.3
    Starting web service at port: 9191
    J2EE SDK/1.3
    J2EE server startup complete.
    Compiling c:\j2sdkee1.3\repository\rbi\gnrtrTMP\Sync4j Server enterprise
    application\sync4j\server\s
    yncbean\SyncBean_LocalHomeImpl.java ....
    Compiling c:\j2sdkee1.3\repository\rbi\gnrtrTMP\Sync4j Server enterprise
    application\sync4j\server\s
    yncbean\SyncBean_EJBLocalObjectImpl.java ....
    Compiling c:\j2sdkee1.3\repository\rbi\gnrtrTMP\Sync4j Server enterprise
    application\sync4j\server\s
    yncbean\SyncBean_RemoteHomeImpl.java ....
    Compiling c:\j2sdkee1.3\repository\rbi\gnrtrTMP\Sync4j Server enterprise
    application\sync4j\server\s
    yncbean\SyncBean_EJBObjectImpl.java ....
    rmic sync4j.server.syncbean.SyncBean_RemoteHomeImpl...
    rmic sync4j.server.syncbean.SyncBean_EJBObjectImpl...
    c:\j2sdkee1.3\repository\rbi\applications\Sync4j Server enterprise
    application1004172068449Server.ja
    r
    Binding name:`java:comp/env/ejb/ISyncHomeRemote`
    Binding name:`java:comp/env/ejb/ISyncHomeLocal`
    java.lang.ClassCastException:
    com.sun.enterprise.deployment.EjbExternalDescriptor
    at com.sun.enterprise.deployment.EjbReferenceDescriptor.getValue
    (EjbReferenceDescriptor.java
    :202)
    at com.sun.enterprise.naming.NamingManagerImpl.bindObjects
    (NamingManagerImpl.java:394)
    at com.sun.web.server.WebService.addContext(WebService.java:148)
    at com.sun.web.server.ServletDeployerImpl.loadWebComponents
    (ServletDeployerImpl.java:214)
    at
    com.sun.enterprise.tools.deployment.backend.JarInstallerImpl.deployWebComponent
    s
    (JarInsta
    llerImpl.java:791)
    at
    com.sun.enterprise.tools.deployment.backend.JarInstallerImpl.deployApplication
    (JarInstall
    erImpl.java:219)
    at
    org.omg.stub.com.sun.enterprise.tools.deployment.backend._JarInstallerImpl_Tie.
    invoke(Un
    known Source)
    at com.sun.corba.ee.internal.corba.ServerDelegate.dispatch
    (ServerDelegate.java:355)
    at com.sun.corba.ee.internal.iiop.ORB.process(ORB.java:273)
    at com.sun.corba.ee.internal.iiop.RequestProcessor.process
    (RequestProcessor.java:84)
    at com.sun.corba.ee.internal.orbutil.ThreadPool$PooledThread.run
    (ThreadPool.java:99)
    Does the Sun J2EE server implementation support the invocation
    of Session EJB's via a Local interface?
    Does the Sun J2EE server implementation allow a Servlet to invoke
    Session EJB's via the bean's Local interface?
    While researching this issue, I read the J2EE 1.3 final specification.
    The spec says:
    "The EJB container is required to access to local enterprise beans.
    We recommend that the web container also support access to local
    enterprise beans."
    Does the web container in Sun's J2EE server support access to local enterprise beans?

    I'm pretty much sure that you cannot access a
    local Session bean from outside the EJB container.Please read the J2EE 1.3 specification before posting messages about EJB and J2EE.
    According to the J2EE 1.3 specification:
    "The EJB container is required to support access to local enterprise beans. We recommend that the web container also support access to local enterprise beans.
    No support is provided for access to local enterprise beans from the application client container or the applet container."
    If you use local interfaces for your session bean,
    than your client must be local too. A local client is
    a client that is collocated in the same JVM with the
    session/entity that provides the local view and which
    can be tightly coupled to the bean.My client is running in the same JVM as my EJB. The client is a servlet. The servlet is running in the same JVM as the EJB.
    For what its worth, the error that I observed occurs during deployment. I haven't figured out why deployment is failing.

  • Message Driven Bean - Configuration problem

    Hi
    I have created the connection factory as jms/ConnectionFactory and physical destination as PhysicalQueue and queue as jms/Queue as per
    http://java.sun.com/j2ee/1.4/docs/tutorial/doc/MDB5.html#wp79772
    http://java.sun.com/j2ee/1.4/docs/tutorial/doc/MDB6.html
    But I am getting the following exception
    [#|2005-03-10T13:36:52.970+0530|SEVERE|sun-appserver-pe8.0.0_01|javax.enterprise.system.core.classloading|_ThreadID=11;|LDR5004: UnExpected error occured while creating ejb container
    javax.naming.NamingException: Message Destination Reference java:comp/env/jms/Queue has not been linked to a Message Destination
         at com.sun.enterprise.naming.NamingManagerImpl.bindObjects(NamingManagerImpl.java:450)
         at com.sun.ejb.containers.BaseContainer.setupEnvironment(BaseContainer.java:1759)
         at com.sun.ejb.containers.BaseContainer.<init>(BaseContainer.java:376)
         at com.sun.ejb.containers.MessageBeanContainer.<init>(MessageBeanContainer.java:118)
         at com.sun.ejb.containers.ContainerFactoryImpl.createContainer(ContainerFactoryImpl.java:196)
         at com.sun.enterprise.server.AbstractLoader.loadEjbs(AbstractLoader.java:477)
         at com.sun.enterprise.server.ApplicationLoader.load(ApplicationLoader.java:125)
         at com.sun.enterprise.server.TomcatApplicationLoader.load(TomcatApplicationLoader.java:96)
         at com.sun.enterprise.server.ApplicationManager.applicationDeployed(ApplicationManager.java:205)
         at com.sun.enterprise.server.ApplicationManager.applicationDeployed(ApplicationManager.java:156)
         at com.sun.enterprise.server.ApplicationManager.applicationDeployed(ApplicationManager.java:480)
         at com.sun.enterprise.admin.event.AdminEventMulticaster.invokeApplicationDeployEventListener(AdminEventMulticaster.java:448)
         at com.sun.enterprise.admin.event.AdminEventMulticaster.handleApplicationDeployEvent(AdminEventMulticaster.java:432)
         at com.sun.enterprise.admin.event.AdminEventMulticaster.processEvent(AdminEventMulticaster.java:299)
         at com.sun.enterprise.admin.event.AdminEventMulticaster.multicastEvent(AdminEventMulticaster.java:107)
         at com.sun.enterprise.admin.server.core.mbean.config.ManagedServerInstance.multicastEvent(ManagedServerInstance.java:3880)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:324)
         at com.sun.enterprise.admin.server.core.jmx.Introspector.invokeMethodOn(Introspector.java:181)
         at com.sun.enterprise.admin.server.core.mbean.config.AdminBase.invoke(AdminBase.java:86)
         at com.sun.enterprise.admin.server.core.mbean.config.ConfigMBeanBase.invoke(ConfigMBeanBase.java:680)
         at com.sun.jmx.mbeanserver.DynamicMetaDataImpl.invoke(DynamicMetaDataImpl.java:221)
         at com.sun.jmx.mbeanserver.MetaDataImpl.invoke(MetaDataImpl.java:228)
         at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:
    My ejb-jar.xml is as below
    <?xml version='1.0' encoding='UTF-8'?>
    <ejb-jar
    xmlns="http://java.sun.com/xml/ns/j2ee"
    version="2.1"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/ejb-jar_2_1.xsd"
    >
    <display-name>RegJAR</display-name>
    <enterprise-beans>
    <message-driven>
    <ejb-name>RegistrationMDBean</ejb-name>
    <ejb-class>com.registration.ejb.RegistrationMDBean</ejb-class>
    <messaging-type>javax.jms.MessageListener</messaging-type>
    <transaction-type>Container</transaction-type>
    <message-destination-type>javax.jms.Queue</message-destination-type>
    <message-destination-link>PhysicalQueue</message-destination-link>
    <message-destination-ref>
    <message-destination-ref-name>jms/Queue</message-destination-ref-name>
    <message-destination-type>javax.jms.Queue</message-destination-type>
    <message-destination-usage>Consumes</message-destination-usage>
    <message-destination-link>PhysicalQueue</message-destination-link>
    </message-destination-ref>
    </message-driven>
    </enterprise-beans>
    <assembly-descriptor>
    <container-transaction>
    <method>
    <ejb-name>RegistrationMDBean</ejb-name>
    <method-name>onMessage</method-name>
    <method-params>
    <method-param>javax.jms.Message</method-param>
    </method-params>
    </method>
    <trans-attribute>Required</trans-attribute>
    </container-transaction>
    </assembly-descriptor>
    </ejb-jar>
    Thanks
    Suneesh

    In stead of selecting the message destination I have selected the Message Dest Ref tab .But when I selected the message destination tab of JAR file I am getting the following error
    [#|2005-03-10T15:51:22.263+0530|INFO|sun-appserver-pe8.0.0_01|javax.enterprise.system.tools.admin|_ThreadID=12;|ADM1041:Sent the event to instance:[ApplicationDeployEvent -- enable MDBEg]|#]
    [#|2005-03-10T15:51:22.283+0530|SEVERE|sun-appserver-pe8.0.0_01|javax.enterprise.system.container.ejb.mdb|_ThreadID=12;|MDB00017: [RegistrationMDBean]: Exception in creating message-driven bean container: [com.sun.enterprise.connectors.ConnectorRuntimeException: JMS resource not created : ]|#]
    [#|2005-03-10T15:51:22.283+0530|SEVERE|sun-appserver-pe8.0.0_01|javax.enterprise.system.container.ejb.mdb|_ThreadID=12;|com.sun.enterprise.connectors.ConnectorRuntimeException
    com.sun.enterprise.connectors.ConnectorRuntimeException: JMS resource not created :
         at com.sun.enterprise.connectors.system.ActiveJmsResourceAdapter.getPhysicalDestinationFromConfiguration(ActiveJmsResourceAdapter.java:296)
         at com.sun.enterprise.connectors.system.ActiveJmsResourceAdapter.updateMDBRuntimeInfo(ActiveJmsResourceAdapter.java:232)
         at com.sun.enterprise.connectors.inflow.ConnectorMessageBeanClient.setup(ConnectorMessageBeanClient.java:139)
         at com.sun.ejb.containers.MessageBeanContainer.<init>(MessageBeanContainer.java:189)
         at com.sun.ejb.containers.ContainerFactoryImpl.createContainer(ContainerFactoryImpl.java:196)
         at com.sun.enterprise.server.AbstractLoader.loadEjbs(AbstractLoader.java:477)
         at com.sun.enterprise.server.ApplicationLoader.load(ApplicationLoader.java:125)
         at com.sun.enterprise.server.TomcatApplicationLoader.load(TomcatApplicationLoader.java:96)
         at com.sun.enterprise.server.ApplicationManager.applicationDeployed(ApplicationManager.java:205)
         at com.sun.enterprise.server.ApplicationManager.applicationDeployed(ApplicationManager.java:156)
         at com.sun.enterprise.server.ApplicationManager.applicationEnabled(ApplicationManager.java:590)
         at com.sun.enterprise.admin.event.AdminEventMulticaster.invokeApplicationDeployEventListener(AdminEventMulticaster.java:454)
         at com.sun.enterprise.admin.event.AdminEventMulticaster.handleApplicationDeployEvent(AdminEventMulticaster.java:432)
         at com.sun.enterprise.admin.event.AdminEventMulticaster.processEvent(AdminEventMulticaster.java:299)
         at com.sun.enterprise.admin.event.AdminEventMulticaster.multicastEvent(AdminEventMulticaster.java:107)
         at com.sun.enterprise.admin.server.core.mbean.config.ManagedServerInstance.multicastEvent(ManagedServerInstance.java:3880)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:324)
         at com.sun.enterprise.admin.server.core.jmx.Introspector.invokeMethodOn(Introspector.java:181)
         at com.sun.enterprise.admin.server.core.mbean.config.AdminBase.invoke(AdminBase.java:86)
         at com.sun.enterprise.admin.server.core.mbean.config.ConfigMBeanBase.invoke(ConfigMBeanBase.java:68
    Thanks
    Suneesh

  • Re: [Fwd: FindSO?]

    Hi Rick,
    You can use the Forte ObjectLocationMgr to dynamically register and bind
    to named, anchored objects (which may be service objects). The SCAFFOLDS
    2.0 RouteManager (Custom Router) uses this mechanism to determine the
    ExecutionManager (typically a service object) to route to, at run time.
    However, there are some issues that you need to consider before going
    with this approach. The primary disadvantage of not directly using a
    ServiceObject reference in Forte is that Forte failover only kicks in
    when you directly call out to a ServiceObject that is absent from the
    current environment. A direct call to the ServiceObject is also required
    at application startup of deployed applications if you do not pre-start
    your server partitions.
    The SCAFFOLDS custom routing mechanism accounts for all these issues
    while still providing you with the dynamic ServiceObject determination
    that you are looking for. You can provide the routing rules by either
    using one of the RouteModules out of the box, or by writing your own
    RouteModule.
    If you give some more details about your scenario, I will be happy to
    make further recommendations.
    Is there a way to get an object reference to a service object by
    name/string ?
    In a connectorHandler, I'm trying to dynamically connect to the partition
    of a Service Object wihtout having to hardcode a huge case statement and
    know a compile time all possible SO's. Thanks in advance.
    Rick Vaillancourt
    Novalis Corporation
    Sameer Vaidya
    SCAFFOLDS Engineer
    Sage IT Partners
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/>

    As of release 3J there is an easier way to do this that used to be hidden.
    I am hoping that the uncovering of this functionality was on purpose and not
    by accident meaning it may go away later!? But, it is now possible to use
    the name service to look up a service object directly. This used to require
    setting an unsupported configuration flag but appears to no longer require
    this.
    You use bindobject as you would with a named anchored object but supply the
    path to your service object. The path is in the form:
    'site/ServerProjectName_cl#/ApplicationName_cl#-ServiceName'
    Using this method, fail-over and load balancing will worked as advertised!
    This is not the case when you bind to a named anchored object.
    One catch is that the service can only be found under the name above when it
    has actually been deployed. The path is different when you are running from
    the workshops. I am assuming that direct binding will work in that
    circumstance as well as long as you provide the correct path. However, I
    have not tested it.
    Hope this helps!
    Sean
    Cornice Consulting Inc.
    mailto:[email protected]
    -----Original Message-----
    From: [email protected]
    [<a href="mailto:[email protected]">mailto:[email protected]]On</a> Behalf Of Sameer Vaidya
    Sent: Thursday, December 17, 1998 12:02 PM
    To: [email protected]
    Cc: Tim E. Hall; [email protected]; [email protected]
    Subject: Re: [Fwd: FindSO?]
    Hi Rick,
    You can use the Forte ObjectLocationMgr to dynamically register and bind
    to named, anchored objects (which may be service objects). The SCAFFOLDS
    2.0 RouteManager (Custom Router) uses this mechanism to determine the
    ExecutionManager (typically a service object) to route to, at run time.
    However, there are some issues that you need to consider before going
    with this approach. The primary disadvantage of not directly using a
    ServiceObject reference in Forte is that Forte failover only kicks in
    when you directly call out to a ServiceObject that is absent from the
    current environment. A direct call to the ServiceObject is also required
    at application startup of deployed applications if you do not pre-start
    your server partitions.
    The SCAFFOLDS custom routing mechanism accounts for all these issues
    while still providing you with the dynamic ServiceObject determination
    that you are looking for. You can provide the routing rules by either
    using one of the RouteModules out of the box, or by writing your own
    RouteModule.
    If you give some more details about your scenario, I will be happy to
    make further recommendations.
    Is there a way to get an object reference to a service object by
    name/string ?
    In a connectorHandler, I'm trying to dynamically connect to thepartition
    of a Service Object wihtout having to hardcode a huge case statement and
    know a compile time all possible SO's. Thanks in advance.
    Rick Vaillancourt
    Novalis Corporation
    Sameer Vaidya
    SCAFFOLDS Engineer
    Sage IT Partners
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive <URL:<a href=
    "http://pinehurst.sageit.com/listarchive/">http://pinehurst.sageit.com/listarchive/</a>>
    >
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive <URL:<a href=
    "http://pinehurst.sageit.com/listarchive/">http://pinehurst.sageit.com/listarchive/</a>>

  • RE: Global Object -- the last word

    Chris,
    You are correct. My apologies for not testing my reply sooner. The
    OLM.RegisterObject method does touch the NameService, but OLM caches
    registrations and therefor OLM.BindObject is a local call. So there is one
    network call, but that's all (unless the cache entries are aged out).
    Andrew,
    After testing all of the proposed solutions, using task.part.apptitle seems
    the easiest one to implement. Subclass from TextNullable and add an
    attribute to hold the reference to LocalCache. Remember, TextNullable can
    not be anchored.
    Caveat, you are relying on a Forte feature which may not be guaranteed to
    work the same way in the future.
    At 01:59 PM 10/17/97 -0500, you wrote:
    Where would the network traffic come in? The object location manager
    is local, and if you assume the cache object is also local (there is
    one on each partition), I don't see where the network hit would be.
    Would you please enlighten me?
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Chris Johnson
    BORN Information Services Group
    Forte National Practice
    Direct: 612-404-4409
    Fax: 612-404-4441
    http://www.born.com
    mailto:[email protected]
    From: David Vydra[SMTP:[email protected]]
    Sent: Friday, October 17, 1997 12:42 PM
    To: [email protected]
    Subject: RE: Global Object
    Guy,
    At 11:35 AM 10/17/97 -0500, you wrote:
    Another approach would be to use the partition's object locationmanager
    (task.part.objectLocationMgr) to register the partition's local cachecontainer object (LOCache) under a name based on the
    partition's name. Tasks needing the cache container can use the"bindObject" method to get the reference back.
    I believe this would generate network traffic for each bind, and if
    the
    objects in need of the local service are transient the overhead may be
    considerable.
    ========================================
    David Vydra
    Education Consultant
    Forte Software, Inc.
    [email protected]; phone: (510)986.3593

    Possible problems with using task.part.appTitle.
    1) Isn't appTitle part of the task? If it is, what happens when the
    task goes across a partition boundary? Does the appTitle get serialized
    and deserialized by Forte? As long as the cache itself is anchored this
    reference held in the appTitle is only a proxy. (But a TextNullable
    cannot be anchored.) If the cache is not anchored, won't the entire
    cache get serialized and deserialized at each partition boundary?
    2) If the appTitle goes with the Task when it crosses a partition
    boundary, what happens when some piece of code in the other partition
    attempts to use the cache? If the cache was able to be anchored,
    wouldn't there a network hit at this point? Also, haven't you just lost
    the 'local'ness of the local cache.
    3) What about serialization problems when you enter a partition that
    does not know about the cache object. Won't you get a deserialization
    error when you enter a non-application partition such as the Node
    Manager or Forte's run-time compiler?
    4) Version 3 provides appContext which can be used to hold any Object.
    This should probably only be used for very small objects or anchored
    object that are used infrequently on a different partition. Since
    appTitle cannot be anchored, why would you use it rather than
    appContext (Version 2 is a different story)? AppContext appears to be a
    more generic solution to the global object problem, one that Forte will
    support. Neither AppContext nor appTitle appear to be solutions to a
    local cache problem.
    John G. Bielejeski
    Born Information Services Group (http://www.born.com)
    Forte National Practice
    Voice: (612) 404-4116
    Fax: (612) 404-4440
    mailto:[email protected]
    From: David Vydra[SMTP:[email protected]]
    Sent: Sunday, October 19, 1997 7:04 PM
    To: [email protected]
    Subject: RE: Global Object -- the last word
    Chris,
    You are correct. My apologies for not testing my reply sooner. The
    OLM.RegisterObject method does touch the NameService, but OLM caches
    registrations and therefor OLM.BindObject is a local call. So there is
    one
    network call, but that's all (unless the cache entries are aged out).
    Andrew,
    After testing all of the proposed solutions, using task.part.apptitle
    seems
    the easiest one to implement. Subclass from TextNullable and add an
    attribute to hold the reference to LocalCache. Remember, TextNullable
    can
    not be anchored.
    Caveat, you are relying on a Forte feature which may not be guaranteed
    to
    work the same way in the future.
    At 01:59 PM 10/17/97 -0500, you wrote:
    Where would the network traffic come in? The object locationmanager
    is local, and if you assume the cache object is also local (thereis
    one on each partition), I don't see where the network hit would be.
    Would you please enlighten me?
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Chris Johnson
    BORN Information Services Group
    Forte National Practice
    Direct: 612-404-4409
    Fax: 612-404-4441
    http://www.born.com
    mailto:[email protected]
    From: David Vydra[SMTP:[email protected]]
    Sent: Friday, October 17, 1997 12:42 PM
    To: [email protected]
    Subject: RE: Global Object
    Guy,
    At 11:35 AM 10/17/97 -0500, you wrote:
    Another approach would be to use the partition's object locationmanager
    (task.part.objectLocationMgr) to register the partition's local
    cache
    container object (LOCache) under a name based on the
    partition's name. Tasks needing the cache container can use the"bindObject" method to get the reference back.
    I believe this would generate network traffic for each bind, and if
    the
    objects in need of the local service are transient the overhead maybe
    considerable.
    ========================================
    David Vydra
    Education Consultant
    Forte Software, Inc.
    [email protected]; phone: (510)986.3593

  • Object binding and ISDN connections

    Fort&eacute; users,
    the problem is the following:
    we have a win95 client running remotely and connected to a server
    (ultrasparc solaris) via an ISDN line.
    The application works normally for almost all applicative functionality and
    Fort&egrave; mechanisms (events posted from clients included) except one: the
    task.Part.ObjectLocationMgr.bindObject method.
    We use the task.Part.ObjectLocationMgr.bindObject method to bind an object
    on a client A to an object on a client B (we use this direct communication
    link from one client to another to implement a sort of 'remote' control of
    client B from the client A).
    This solution normally WORKS when A e B are in our in-house LAN and NOT
    when A or B connect to the rest of the system via an ISDN line! (I have not
    tried a modem connection). I repeat all other functionalities works
    normally.
    Has someone encountered this problem before? Has someone an idea to solve
    the problem or to understand the reason of this behavoiur?
    We are using Fort&eacute; 2.0.H.1.
    Thank you very much in advance.
    Corrado Tamietti (Tel : +39 11 3168.733)
    CSI Piemonte (Consorzio per il Sistema Informativo)
    C.so Unione Sovietica 216
    I-10134 Torino (ITALY)

    hi,
    For that you have to create custom BO(using SWO1) which supertype is current BO.
    then in that ZBO you can change the value using below code:
    in top of programme include<CNTN01>.
    then to get that element use :
    swc_get_element container 'PERNR' empid.
    then process on it or create new container element using
    swc_create_element 'PERNR' empid.
    then fill it using
    swc_set_element container 'IT_EMP' IT_EMP.
    or if it is multi line element use:
    swc_set_table
               lt_event_container
                 'ZMAIL' it_TEXT1.
    don't forget to include<cntn01>.
    then copy existing standard task(using PFTC) and define necessary container element and do binding!
    Hope magic Works!
    Regards,
    Purvesh Patel.

  • RE: forte-users-digest V1 #322

    Re: "We wish to eliminate any object references to the service object's
    partition. Any insight would be greatly appreciated." from Van Vuong
    <[email protected]>
    This was in regards to copying a set of object from a server to client.
    An implicit clone is being done. This also copyies objects they want to
    remain on the server.
    I believe the normal method of doing this is to anchor the server side
    objects. Then when the deep clone occurs, it stops at the anchored
    objects generating a proxy. That can also have other affects you do not
    want but will at least stop the copying.
    From: owner-forte-users-digest
    Sent: Tuesday, April 15, 1997 8:09 AM
    To: forte-users-digest
    Subject: forte-users-digest V1 #322
    forte-users-digest Tuesday, 15 April 1997 Volume 01 :
    Number 322
    How does deep copy apply to arrays?
    Re: Global Variables
    Re: Global Variables
    Using the Edit commands in a menu
    Re: Global Variables
    Re: How does deep copy apply to arrays?
    From: Van Vuong <[email protected]>
    Date: Mon, 14 Apr 1997 17:16:46 -0500
    Subject: How does deep copy apply to arrays?
    I have a service object that has a method that returns an array of
    objects. The return type for the method is defined with the copy option.
    I found documentation that states that the copy option creates a deep
    copy of the return variable on the partition that called the method.
    My question is: If the return type for the method is an array of
    objects, will the copy option create copies of all objects/elements in
    the array?
    We wish to eliminate any object references to the service object's
    partition. Any insight would be greatly appreciated.
    Thanks in advance,
    Van Vuong
    Phone: 972.985.5289
    Pager: 972.320.2232
    VoiceNow Pager: 972.330.0822
    E-mail: [email protected]
    PAGE NET
    From: David Bell <[email protected]>
    Date: Mon, 14 Apr 1997 22:44:19 +0000
    Subject: Re: Global Variables
    I got so much mail about and the object location manager, so
    I'll continue ...
    To make the thing truly portable, regardless of partition,
    you need to register the object with a name that is made
    up on the fly.
    The easisest way to do this is to make up a name composed of
    nodename (hopefully unique) plus the process ID. This should
    guarantee that you get to the correct object even if there are
    several instances around.
    Get the nodename from the operating system, then use the partition
    agent to ask for the PID. Form a unique name by concatenating these
    two piecies of information.
    // set up this app's subdirectory namespace
    ObjName : TextData = new(Value = '/MyApp/');
    // add nodename
    ObjName.Concat(task.part.operatingsystem.nodename);
    // get PID
    Partition : ActivePartitionAgent
    = ActivePartitionAgent(task.part.ActPartAgent);
    Instrument : ConfigValueInst
    = ConfigValueInst(Partition.FindInstrument('ProcessID'));
    // add PID to name
    Objname.Concat(Instrument.GetData.TextValue);
    Now register an anchored object with the object location
    manager
    // get the object location manager
    olm : ObjectLocationMgr;
    olm = task.Part.ObjectLocationMgr;
    // register my object with the name
    olm.RegisterObject(name = Objname, object = MyObj);
    Once it's registered, ask the object location manager for a handle
    so we can use it. Build the name, get hold of the object
    location manager, as above, then invoke BindObject on it.
    theObj =
    (ClassOfMyObj)(olm.BindObject(name=Objname, classType=ClassOfMyObj));
    If the names are formed in the same way, this call should return
    a handle to the object of message duration - you can set up
    session or transaction duration if required in the RegisterObject
    call.
    In some versions of Forte, before V.2.F.0, this call not work for
    objects located in the same partition.
    To get at the instruments, you will need to include the SystemMonitor
    Library.
    To come back to some other points, as Tom Wynant points out, you can
    have a user visible service object in a server partition.
    The problem comes when what you really want is the same user visible
    service object in lots of different partitions so that you can offer
    the same service - but locally.
    Today there is no way to do this oustide of client partitions without
    resorting to something similar to that presented above.
    - David
    David Bell Tel : +44 1344 482100
    Voice mail : +44 1344 353716
    Forte Software Limited Mobile : +44 378 300613
    Apex House
    London Road Email : mailto: [email protected]
    Bracknell Web : http://www.forte.com
    Berkshire
    RG12 2XH
    UK
    From: Pierre Gelli <[email protected]>
    Date: Tue, 15 Apr 1997 09:09:39 +0200
    Subject: Re: Global Variables
    Hello folks,
    Here is my idea on the topic.
    Although one normally doesn't need global variables in a OO system, there
    are cases when it's useful : a read cache of data available in the local
    active partition. This saves the overhead of accessing the data on a
    remote=
    SO.
    I read the solutions described by David Bell (location manager) and David
    Krieger (hack of the partition.appTitle).
    There is another way I think is a bit cleaner.
    It takes benefit of the fact that a custom system agent can be attached
    an
    object (in our case the local cache containing the global variables).
    Any active partition of the application then contains one such custom
    agent.
    Any class needing a global variable instantiates a small object, which is
    a
    manager of the custom agent. Its purpose is to ask the active partition
    for
    the custom agent, and then for the cache. If the agent doesn't exist it
    creates it as well has the local cache; if the agent exists, it returns
    the
    cache.
    There is a cache class.
    It is derived into one class to be the "cache server" broadcasting an
    event
    when some cache data changes. This class is used to create a cache
    server=
    SO.
    The cache class is also derived into a "local cache" class. It knows how
    to
    initialize it from the cache server. It listens to the event for updating
    its local data from the cache server SO when needed.
    Enough for the machinery.
    Then, for any instance of a class that needs a global variable,
    only two lines of code are needed, at initialization time, to get a
    reference to the local cache of the partition, then a global variable
    isaccessed as if part of a local object. This is quite affordable.
    This design guaranties that there is automatically one and only one
    up-to-date cache object in any active partition (running on a client or
    on a
    server). The local cache is seen as a local object by all objects that
    use
    it (no SO there). This design makes no assumption on the partitioning
    that
    will take place later. Which is I think one key strength of Fort=E9.
    If one is interested I can ship some code that illustrates these ideas.
    Hope this helps.
    Pierre Gelli
    ADP GSI
    Payroll and Human Resources Management
    72-78, Grande Rue, F-92310 SEVRES
    phone : +33 1 41 14 86 42 (direct) +33 1 41 14 85 00 (reception desk)
    fax : +33 1 41 14 85 99
    From: Bryan Gentile <[email protected]>
    Date: Tue, 15 Apr 1997 09:01:35 -0400
    Subject: Using the Edit commands in a menu
    I was wondering if anyone knows how to code for the edit menu submenu
    items
    like cut, copy, and paste. I am trying to use these in my menu, but I
    cannot find anything about how to code for them. Is there anything in
    the
    help or any examples to look at. I have been unsuccessful in finding
    anything about this.
    Thanks
    From: [email protected]
    Date: Tue, 15 Apr 1997 9:08:01 -0400 (EDT)
    Subject: Re: Global Variables
    [email protected] writes:
    <Snip!>
    Unfortunately all Forte Service Objects share a single name
    space. I thought from the documentation that User Visible
    Service Objects would work for me. However, when I tried User
    Visible Service Objects, they didn't quite do the trick because
    what I wanted was identically named service objects that resolve
    to a different local instance for each partition.You're right. You can put the user-visible service object in any
    partition you like, but it must go in one and only one
    partition. Rats. I can see why it's this way (based on the
    minimal implementation of the name server), but I can think of
    some good reasons why it shouldn't be. In fact, I may need to
    move some methods around based on this discussion. Again, rats!
    Tom Wyant
    "The greatest danger of communication is the illusion that it has
    occurred." (wish I knew who said that!).
    From: [email protected]
    Date: Tue, 15 Apr 1997 09:54:10 -0500
    Subject: Re: How does deep copy apply to arrays?
    Copy option always copies deep. Remember, also if you pass the array
    accross partitions, whether you specify copy or not, it is going to copy
    and copy deep.
    In an array, I am not sure if have the problem, because unless the array
    in-turn holds a huge tree, the array object may be wide, but not deep.
    Some thing to think about??
    Venkat
    End of forte-users-digest V1 #322
    *********************************

    Re: "We wish to eliminate any object references to the service object's
    partition. Any insight would be greatly appreciated." from Van Vuong
    <[email protected]>
    This was in regards to copying a set of object from a server to client.
    An implicit clone is being done. This also copyies objects they want to
    remain on the server.
    I believe the normal method of doing this is to anchor the server side
    objects. Then when the deep clone occurs, it stops at the anchored
    objects generating a proxy. That can also have other affects you do not
    want but will at least stop the copying.
    From: owner-forte-users-digest
    Sent: Tuesday, April 15, 1997 8:09 AM
    To: forte-users-digest
    Subject: forte-users-digest V1 #322
    forte-users-digest Tuesday, 15 April 1997 Volume 01 :
    Number 322
    How does deep copy apply to arrays?
    Re: Global Variables
    Re: Global Variables
    Using the Edit commands in a menu
    Re: Global Variables
    Re: How does deep copy apply to arrays?
    From: Van Vuong <[email protected]>
    Date: Mon, 14 Apr 1997 17:16:46 -0500
    Subject: How does deep copy apply to arrays?
    I have a service object that has a method that returns an array of
    objects. The return type for the method is defined with the copy option.
    I found documentation that states that the copy option creates a deep
    copy of the return variable on the partition that called the method.
    My question is: If the return type for the method is an array of
    objects, will the copy option create copies of all objects/elements in
    the array?
    We wish to eliminate any object references to the service object's
    partition. Any insight would be greatly appreciated.
    Thanks in advance,
    Van Vuong
    Phone: 972.985.5289
    Pager: 972.320.2232
    VoiceNow Pager: 972.330.0822
    E-mail: [email protected]
    PAGE NET
    From: David Bell <[email protected]>
    Date: Mon, 14 Apr 1997 22:44:19 +0000
    Subject: Re: Global Variables
    I got so much mail about and the object location manager, so
    I'll continue ...
    To make the thing truly portable, regardless of partition,
    you need to register the object with a name that is made
    up on the fly.
    The easisest way to do this is to make up a name composed of
    nodename (hopefully unique) plus the process ID. This should
    guarantee that you get to the correct object even if there are
    several instances around.
    Get the nodename from the operating system, then use the partition
    agent to ask for the PID. Form a unique name by concatenating these
    two piecies of information.
    // set up this app's subdirectory namespace
    ObjName : TextData = new(Value = '/MyApp/');
    // add nodename
    ObjName.Concat(task.part.operatingsystem.nodename);
    // get PID
    Partition : ActivePartitionAgent
    = ActivePartitionAgent(task.part.ActPartAgent);
    Instrument : ConfigValueInst
    = ConfigValueInst(Partition.FindInstrument('ProcessID'));
    // add PID to name
    Objname.Concat(Instrument.GetData.TextValue);
    Now register an anchored object with the object location
    manager
    // get the object location manager
    olm : ObjectLocationMgr;
    olm = task.Part.ObjectLocationMgr;
    // register my object with the name
    olm.RegisterObject(name = Objname, object = MyObj);
    Once it's registered, ask the object location manager for a handle
    so we can use it. Build the name, get hold of the object
    location manager, as above, then invoke BindObject on it.
    theObj =
    (ClassOfMyObj)(olm.BindObject(name=Objname, classType=ClassOfMyObj));
    If the names are formed in the same way, this call should return
    a handle to the object of message duration - you can set up
    session or transaction duration if required in the RegisterObject
    call.
    In some versions of Forte, before V.2.F.0, this call not work for
    objects located in the same partition.
    To get at the instruments, you will need to include the SystemMonitor
    Library.
    To come back to some other points, as Tom Wynant points out, you can
    have a user visible service object in a server partition.
    The problem comes when what you really want is the same user visible
    service object in lots of different partitions so that you can offer
    the same service - but locally.
    Today there is no way to do this oustide of client partitions without
    resorting to something similar to that presented above.
    - David
    David Bell Tel : +44 1344 482100
    Voice mail : +44 1344 353716
    Forte Software Limited Mobile : +44 378 300613
    Apex House
    London Road Email : mailto: [email protected]
    Bracknell Web : http://www.forte.com
    Berkshire
    RG12 2XH
    UK
    From: Pierre Gelli <[email protected]>
    Date: Tue, 15 Apr 1997 09:09:39 +0200
    Subject: Re: Global Variables
    Hello folks,
    Here is my idea on the topic.
    Although one normally doesn't need global variables in a OO system, there
    are cases when it's useful : a read cache of data available in the local
    active partition. This saves the overhead of accessing the data on a
    remote=
    SO.
    I read the solutions described by David Bell (location manager) and David
    Krieger (hack of the partition.appTitle).
    There is another way I think is a bit cleaner.
    It takes benefit of the fact that a custom system agent can be attached
    an
    object (in our case the local cache containing the global variables).
    Any active partition of the application then contains one such custom
    agent.
    Any class needing a global variable instantiates a small object, which is
    a
    manager of the custom agent. Its purpose is to ask the active partition
    for
    the custom agent, and then for the cache. If the agent doesn't exist it
    creates it as well has the local cache; if the agent exists, it returns
    the
    cache.
    There is a cache class.
    It is derived into one class to be the "cache server" broadcasting an
    event
    when some cache data changes. This class is used to create a cache
    server=
    SO.
    The cache class is also derived into a "local cache" class. It knows how
    to
    initialize it from the cache server. It listens to the event for updating
    its local data from the cache server SO when needed.
    Enough for the machinery.
    Then, for any instance of a class that needs a global variable,
    only two lines of code are needed, at initialization time, to get a
    reference to the local cache of the partition, then a global variable
    isaccessed as if part of a local object. This is quite affordable.
    This design guaranties that there is automatically one and only one
    up-to-date cache object in any active partition (running on a client or
    on a
    server). The local cache is seen as a local object by all objects that
    use
    it (no SO there). This design makes no assumption on the partitioning
    that
    will take place later. Which is I think one key strength of Fort=E9.
    If one is interested I can ship some code that illustrates these ideas.
    Hope this helps.
    Pierre Gelli
    ADP GSI
    Payroll and Human Resources Management
    72-78, Grande Rue, F-92310 SEVRES
    phone : +33 1 41 14 86 42 (direct) +33 1 41 14 85 00 (reception desk)
    fax : +33 1 41 14 85 99
    From: Bryan Gentile <[email protected]>
    Date: Tue, 15 Apr 1997 09:01:35 -0400
    Subject: Using the Edit commands in a menu
    I was wondering if anyone knows how to code for the edit menu submenu
    items
    like cut, copy, and paste. I am trying to use these in my menu, but I
    cannot find anything about how to code for them. Is there anything in
    the
    help or any examples to look at. I have been unsuccessful in finding
    anything about this.
    Thanks
    From: [email protected]
    Date: Tue, 15 Apr 1997 9:08:01 -0400 (EDT)
    Subject: Re: Global Variables
    [email protected] writes:
    <Snip!>
    Unfortunately all Forte Service Objects share a single name
    space. I thought from the documentation that User Visible
    Service Objects would work for me. However, when I tried User
    Visible Service Objects, they didn't quite do the trick because
    what I wanted was identically named service objects that resolve
    to a different local instance for each partition.You're right. You can put the user-visible service object in any
    partition you like, but it must go in one and only one
    partition. Rats. I can see why it's this way (based on the
    minimal implementation of the name server), but I can think of
    some good reasons why it shouldn't be. In fact, I may need to
    move some methods around based on this discussion. Again, rats!
    Tom Wyant
    "The greatest danger of communication is the illusion that it has
    occurred." (wish I knew who said that!).
    From: [email protected]
    Date: Tue, 15 Apr 1997 09:54:10 -0500
    Subject: Re: How does deep copy apply to arrays?
    Copy option always copies deep. Remember, also if you pass the array
    accross partitions, whether you specify copy or not, it is going to copy
    and copy deep.
    In an array, I am not sure if have the problem, because unless the array
    in-turn holds a huge tree, the array object may be wide, but not deep.
    Some thing to think about??
    Venkat
    End of forte-users-digest V1 #322
    *********************************

  • Security problem about JCOM

    Hi,
    Now we are using IIS/ASP page to connect to EJB. This is the code below:
    Dim mobjHome
    Dim mobjBean
    dim mobjList
    Private Function BindObjects()
    Dim objTemp
    'Handle errors
    On Error resume next
    'Initialize function value
    BindObjects = True
    'Access WebLogic Server. Set here to localhost, port 7001.
    Set objTemp = GetObject("objref:TUVPVwEAAAAABAIAAAAAAMAAAAAAAABGABAAAAAAAABKaW50ZWdyYVRhbGtUb01lV2hhdHNBbGxUaGlzVGhlbhkAEgAHAGwAbwBjAGEAbABoAG8AcwB0AFsANwAwADAAMQBdAAAAAAAKAP//AAAAAAAAAAAAAA==:")
         if err.number>0 then
         BindObjects = False
         response.write "Error number:" & cstr(Err.Number) & "<BR>"
         response.write "Error Desc:" & Err.Description & "<BR>"
         'Notify user and end sub
         response.write "An error occurred while GetObject.<br>"
         exit function
         end if
    'Bind the EJB AccountHome object via JNDI
    Set mobjHome = objTemp.get("examplesServer:jndi:ejb20-containerManaged-AccountHome")
         if err.number>0 then
         BindObjects = False
         response.write "Error number:" & cstr(Err.Number) & "<BR>"
         response.write "Error Desc:" & Err.Description & "<BR>"
         'Notify user and end sub
         response.write "An error occurred while objTemp.Get.<br>"
         exit function
         end if
    Set mobjBean = mobjHome.create()
         if err.number>0 then
         BindObjects = False
         response.write "Error number:" & cstr(Err.Number) & "<BR>"
         response.write "Error Desc:" & Err.Description & "<BR>"
         'Notify user and end sub
         response.write "An error occurred while mobjHome.create().<br>"
         exit function
         end if
    'Find accounts with a balance > LARGE_BALANCE
    Set mobjList = FindBigTypes(700)
         if err.number>0 then
         BindObjects = False
         response.write "Error number:" & cstr(Err.Number) & "<BR>"
         response.write "Error Desc:" & Err.Description & "<BR>"
         'Notify user and end sub
         response.write "An error occurred while FindBigTypes.<br>"
         exit function
         end if
    'Exit before error code
    Exit Function
    End Function
    There is an error occured when running
    Set mobjHome = objTemp.get("examplesServer:jndi:ejb20-containerManaged-AccountHome")
    It told me "Access denied". Is there any setting I need to do in Weblogic server?
    Thank you!
    Best regards!
    Xianyu

    ADF SecurityContext is populated after execution of "/adfAuthentication" servlet so you can't get roles with ADFContext.getCurrent().getSecurityContext().getUserRoles() in your login method.
    Maybe you can retrieve roles with:
    Set<Principal> allPrincipals = mySubject.getPrincipals();
    for (Principal principal : allPrincipals) {
          if(principal instanceof WLSGroupImpl ) {
               roles.add(principal.getName());
    (note that this will retrieve 'enterprise' roles and not application roles)
    Dario

  • J2ee server problem with details

    I 'm working on Win 2000 machine.
    While starting the j2ee server from command line
    with the command
    j2ee -verbose
    I am getting error message as follows
    J2EE server listen port: 1050
    Naming service started:1050
    Exception in thread "main" java.lang.NoSuchMethodError
    at com.sun.corba.ee.internal.corba.AnyImpl.createTypeCodeForClass(AnyImp
    l.java:1256)
    at com.sun.corba.ee.internal.iiop.ShutdownUtilDelegate.createTypeCode(Sh
    utdownUtilDelegate.java:223)
    at com.sun.corba.ee.internal.iiop.ShutdownUtilDelegate.writeAny(Shutdown
    UtilDelegate.java:178)
    at javax.rmi.CORBA.Util.writeAny(Util.java:80)
    at org.omg.stub.com.sun.enterprise.naming._SerialContextProvider_Stub.re
    bind(Unknown Source)
    at com.sun.enterprise.naming.SerialContext.rebind(SerialContext.java:188
    at com.sun.enterprise.naming.SerialContext.rebind(SerialContext.java:202
    at javax.naming.InitialContext.rebind(InitialContext.java:370)
    at com.sun.enterprise.naming.NamingManagerImpl.publishObject(NamingManag
    erImpl.java:192)
    at com.sun.enterprise.naming.NamingManagerImpl.publishObject(NamingManag
    erImpl.java:149)
    at com.sun.enterprise.server.J2EEServer.bindObject(J2EEServer.java:718)
    at com.sun.enterprise.server.J2EEServer.createServerObject(J2EEServer.ja
    va:473)
    at com.sun.enterprise.server.J2EEServer.run(J2EEServer.java:244)
    at com.sun.enterprise.server.J2EEServer.main(J2EEServer.java:972)
    Please help

    J2EE server listen port: 1050
    org.omg.CORBA.INTERNAL: vmcid: SUN minor code: 209 completed: No
    at com.sun.corba.ee.internal.iiop.GIOPImpl.createListener(GIOPImpl.java:
    256)
    at com.sun.corba.ee.internal.iiop.GIOPImpl.getEndpoint(GIOPImpl.java:205
    at com.sun.corba.ee.internal.iiop.GIOPImpl.initEndpoints(GIOPImpl.java:1
    40)
    at com.sun.corba.ee.internal.POA.POAORB.getServerEndpoint(POAORB.java:49
    2)
    at com.sun.corba.ee.internal.POA.POAImpl.pre_initialize(POAImpl.java:156
    at com.sun.corba.ee.internal.POA.POAImpl.<init>(POAImpl.java:114)
    at com.sun.corba.ee.internal.POA.POAORB.makeRootPOA(POAORB.java:114)
    at com.sun.corba.ee.internal.POA.POAORB$1.evaluate(POAORB.java:132)
    at com.sun.corba.ee.internal.core.Future.evaluate(Future.java:21)
    at com.sun.corba.ee.internal.corba.ORB.resolveInitialReference(ORB.java:
    2488)
    at com.sun.corba.ee.internal.corba.ORB.resolve_initial_references(ORB.ja
    va:2423)
    at com.sun.enterprise.server.J2EEServer.run(J2EEServer.java:196)
    at com.sun.enterprise.server.J2EEServer.main(J2EEServer.java:972)
    java.lang.RuntimeException: Unable to create ORB. Possible causes include TCP/IP
    ports in use by another process
    at com.sun.enterprise.server.J2EEServer.run(J2EEServer.java:206)
    at com.sun.enterprise.server.J2EEServer.main(J2EEServer.java:972)
    java.lang.RuntimeException: Unable to create ORB. Possible causes include TCP/IP
    ports in use by another process
    at com.sun.enterprise.server.J2EEServer.run(J2EEServer.java:206)
    at com.sun.enterprise.server.J2EEServer.main(J2EEServer.java:972)
    java.lang.RuntimeException: Unable to create ORB. Possible causes include TCP/IP
    ports in use by another process
    at com.sun.enterprise.server.J2EEServer.run(J2EEServer.java:346)
    at com.sun.enterprise.server.J2EEServer.main(J2EEServer.java:972)
    J2EE server reported the following error: Unable to create ORB. Possible causes
    include TCP/IP ports in use by another process
    Error executing J2EE server ...
    C:\Apps\J2SDKE~1.1\bin>j2ee.bat
    J2EE server listen port: 1050
    org.omg.CORBA.INTERNAL: vmcid: SUN minor code: 209 completed: No
    at com.sun.corba.ee.internal.iiop.GIOPImpl.createListener(GIOPImpl.java:
    256)
    at com.sun.corba.ee.internal.iiop.GIOPImpl.getEndpoint(GIOPImpl.java:205
    at com.sun.corba.ee.internal.iiop.GIOPImpl.initEndpoints(GIOPImpl.java:1
    40)
    at com.sun.corba.ee.internal.POA.POAORB.getServerEndpoint(POAORB.java:49
    2)
    at com.sun.corba.ee.internal.POA.POAImpl.pre_initialize(POAImpl.java:156
    at com.sun.corba.ee.internal.POA.POAImpl.<init>(POAImpl.java:114)
    at com.sun.corba.ee.internal.POA.POAORB.makeRootPOA(POAORB.java:114)
    at com.sun.corba.ee.internal.POA.POAORB$1.evaluate(POAORB.java:132)
    at com.sun.corba.ee.internal.core.Future.evaluate(Future.java:21)
    at com.sun.corba.ee.internal.corba.ORB.resolveInitialReference(ORB.java:
    2488)
    at com.sun.corba.ee.internal.corba.ORB.resolve_initial_references(ORB.ja
    va:2423)
    at com.sun.enterprise.server.J2EEServer.run(J2EEServer.java:196)
    at com.sun.enterprise.server.J2EEServer.main(J2EEServer.java:972)
    java.lang.RuntimeException: Unable to create ORB. Possible causes include TCP/IP
    ports in use by another process
    at com.sun.enterprise.server.J2EEServer.run(J2EEServer.java:206)
    at com.sun.enterprise.server.J2EEServer.main(J2EEServer.java:972)
    java.lang.RuntimeException: Unable to create ORB. Possible causes include TCP/IP
    ports in use by another process
    at com.sun.enterprise.server.J2EEServer.run(J2EEServer.java:206)
    at com.sun.enterprise.server.J2EEServer.main(J2EEServer.java:972)
    java.lang.RuntimeException: Unable to create ORB. Possible causes include TCP/IP
    ports in use by another process
    at com.sun.enterprise.server.J2EEServer.run(J2EEServer.java:346)
    at com.sun.enterprise.server.J2EEServer.main(J2EEServer.java:972)
    J2EE server reported the following error: Unable to create ORB. Possible causes
    include TCP/IP ports in use by another process
    Error executing J2EE server ...
    C:\Apps\J2SDKE~1.1\bin>j2ee.bat -verbose
    J2EE server listen port: 1050
    org.omg.CORBA.INTERNAL: vmcid: SUN minor code: 209 completed: No
    at com.sun.corba.ee.internal.iiop.GIOPImpl.createListener(GIOPImpl.java:
    256)
    at com.sun.corba.ee.internal.iiop.GIOPImpl.getEndpoint(GIOPImpl.java:205
    at com.sun.corba.ee.internal.iiop.GIOPImpl.initEndpoints(GIOPImpl.java:1
    40)
    at com.sun.corba.ee.internal.POA.POAORB.getServerEndpoint(POAORB.java:49
    2)
    at com.sun.corba.ee.internal.POA.POAImpl.pre_initialize(POAImpl.java:156
    at com.sun.corba.ee.internal.POA.POAImpl.<init>(POAImpl.java:114)
    at com.sun.corba.ee.internal.POA.POAORB.makeRootPOA(POAORB.java:114)
    at com.sun.corba.ee.internal.POA.POAORB$1.evaluate(POAORB.java:132)
    at com.sun.corba.ee.internal.core.Future.evaluate(Future.java:21)
    at com.sun.corba.ee.internal.corba.ORB.resolveInitialReference(ORB.java:
    2488)
    at com.sun.corba.ee.internal.corba.ORB.resolve_initial_references(ORB.ja
    va:2423)
    at com.sun.enterprise.server.J2EEServer.run(J2EEServer.java:196)
    at com.sun.enterprise.server.J2EEServer.main(J2EEServer.java:972)
    java.lang.RuntimeException: Unable to create ORB. Possible causes include TCP/IP
    ports in use by another process
    at com.sun.enterprise.server.J2EEServer.run(J2EEServer.java:206)
    at com.sun.enterprise.server.J2EEServer.main(J2EEServer.java:972)
    java.lang.RuntimeException: Unable to create ORB. Possible causes include TCP/IP
    ports in use by another process
    at com.sun.enterprise.server.J2EEServer.run(J2EEServer.java:206)
    at com.sun.enterprise.server.J2EEServer.main(J2EEServer.java:972)
    java.lang.RuntimeException: Unable to create ORB. Possible causes include TCP/IP
    ports in use by another process
    at com.sun.enterprise.server.J2EEServer.run(J2EEServer.java:346)
    at com.sun.enterprise.server.J2EEServer.main(J2EEServer.java:972)
    J2EE server reported the following error: Unable to create ORB. Possible causes
    include TCP/IP ports in use by another process
    Error executing J2EE server ...
    C:\Apps\J2SDKE~1.1\bin>j2ee.bat -verbose
    J2EE server listen port: 1050
    org.omg.CORBA.INTERNAL: vmcid: SUN minor code: 209 completed: No
    at com.sun.corba.ee.internal.iiop.GIOPImpl.createListener(GIOPImpl.java:
    256)
    at com.sun.corba.ee.internal.iiop.GIOPImpl.getEndpoint(GIOPImpl.java:205
    at com.sun.corba.ee.internal.iiop.GIOPImpl.initEndpoints(GIOPImpl.java:1
    40)
    at com.sun.corba.ee.internal.POA.POAORB.getServerEndpoint(POAORB.java:49
    2)
    at com.sun.corba.ee.internal.POA.POAImpl.pre_initialize(POAImpl.java:156
    at com.sun.corba.ee.internal.POA.POAImpl.<init>(POAImpl.java:114)
    at com.sun.corba.ee.internal.POA.POAORB.makeRootPOA(POAORB.java:114)
    at com.sun.corba.ee.internal.POA.POAORB$1.evaluate(POAORB.java:132)
    at com.sun.corba.ee.internal.core.Future.evaluate(Future.java:21)
    at com.sun.corba.ee.internal.corba.ORB.resolveInitialReference(ORB.java:
    2488)
    at com.sun.corba.ee.internal.corba.ORB.resolve_initial_references(ORB.ja
    va:2423)
    at com.sun.enterprise.server.J2EEServer.run(J2EEServer.java:196)
    at com.sun.enterprise.server.J2EEServer.main(J2EEServer.java:972)
    java.lang.RuntimeException: Unable to create ORB. Possible causes include TCP/IP
    ports in use by another process
    at com.sun.enterprise.server.J2EEServer.run(J2EEServer.java:206)
    at com.sun.enterprise.server.J2EEServer.main(J2EEServer.java:972)
    java.lang.RuntimeException: Unable to create ORB. Possible causes include TCP/IP
    ports in use by another process
    at com.sun.enterprise.server.J2EEServer.run(J2EEServer.java:206)
    at com.sun.enterprise.server.J2EEServer.main(J2EEServer.java:972)
    java.lang.RuntimeException: Unable to create ORB. Possible causes include TCP/IP
    ports in use by another process
    at com.sun.enterprise.server.J2EEServer.run(J2EEServer.java:346)
    at com.sun.enterprise.server.J2EEServer.main(J2EEServer.java:972)
    J2EE server reported the following error: Unable to create ORB. Possible causes
    include TCP/IP ports in use by another process
    Error executing J2EE server ...
    how bout this problem?

Maybe you are looking for