WLS 10 MDB migration within a WLS cluster
Hi,
I'm trying to get MDB migration working. From my reading in the documentation regarding this topic, it appears that I have to deploy my MDB to all of the cluster server instances.
Ex, if the JMS server that my MDB is using is on a migratable target and it composes of srv1 and srv2, then I also have to deploy my MDB to srv1 and srv2 in order to get some form of "migration" working.
What I want to know is if it's possible to do a real migration like migrating JMS service for example? Instead of doing this multiple deployment of my MDB.
this snippet from http://edocs.bea.com/wls/docs100/ejb/message_beans.html#wp1168630 seems to be talking about the above setup.
MDBs do not have migratable targets. Instead, an MDB automatically detects the JMS Server migration target during deployment, and uses that as its migratable target. You must ensure that MDB are deployed everywhere that a JMS Server is deployed. You can do this in two ways:
* Deploy MDBs homogeneously to the cluster.
* Match an MDB’s targets to the JMS migratable target list in the config.xml file for the server instance’s cluster. The MDB target server name must match the JMS migratable target list, or MDB migration will fail. For more information on configuring migratable targets, see “Defining Migratable Target Servers in a Cluster” in Using WebLogic Server Clusters.
Hi,
Thanks for the information.
Can you explain why this is happening though?
I have a distributed queue with two members (or specifically two JMS servers), which is targetted across the cluster (two servers cluster).
I have 1 MDB that is targetted to one of the JMS server in the distributed queue.
I deployed the MDB to the whole cluster. During monitoring, I noticed that two copies of the MDB are resident at startup (1 active on the cluster instance where the JMS server is hosting the source destination; the other is active residing on the other cluster instance). When I manually migrate the JMS server, the MDBs' status just switch due to one able to connect while the other cannot connect anymore.
So, this is what's to be expected of MDB migration, correct? In this simple scenario for example, there will always be 1 resident running/suspended copy of the MDB in memory within each cluster server instance. The MDB migration is just simply switching between one cluster instance's resident MDB to another instance's.
Is this correct?
Thanks.
Similar Messages
-
Migration from WLS 10.0 MP1 to WLS 10.0 MP2
Hello there,
We need to migrate our applications from WLS 10.0 MP1 to WLS 10.0 MP2. Could you please give us an url to download a workshop version that includes WebLogic Portal and WLS 10.0.2?
I've been looking for an installer on the web, but in the Oracle web sites, haven't found any BEA products older versions.
Thanks & Regards
Franco Utreras G.Hello,
There are 2 options for legacy Weblogic installer download:
Option1: If you have an Oracle Metalink account, you could login and go to Metalink doc ID - 763603.1 which is the "BEA Release Archive". From here you can download the historical BEA releases.
You get the following releases that can be downloaded from here.
Oracle Weblogic Server - Version: 6.1 to 10.3
Oracle JRockit - Version: 7.0 to R27.6
Option2: Login to: https://Metalink.oracle.com
Go to tab: Patches & Updates
Quick Links to: Latest Patchsets, Mini Packs and Maintenance Packs
Patch Bundles for Individual Products or Components
Select BEA Weblogic Platform
Select the WebLogic Main version and SP version
Then you should see the download screen.
HTH
Regards
RC2
http://crkthoughts.blogspot.com -
Migrating JMS Persistence from WLS 4.5.2 to WLS 6.1
Hi,
we are migrating several applications from WLS 4.5.2 to WLS 6.1. A application use
JMS with persistence in DB (JMS persistence WLS 4.5.2 is in DB) with WLS 6.1 we want
to change persistence mode to FIles. Therefore during migration process we have to
move the messages stored in the database to a file. The messages stored in the file
will be recovered for WLS 6.1.
My doubt is, Is there a automatic process for migrate messages in the DB to a persistence
file?
ThanksHi.
I'm not sure that there is an automatic process to accomplish this, but you might get a
better answer by posting this on the JMS newsgroup.
Regards,
Michael
Manuel Villalta wrote:
Hi,
we are migrating several applications from WLS 4.5.2 to WLS 6.1. A application use
JMS with persistence in DB (JMS persistence WLS 4.5.2 is in DB) with WLS 6.1 we want
to change persistence mode to FIles. Therefore during migration process we have to
move the messages stored in the database to a file. The messages stored in the file
will be recovered for WLS 6.1.
My doubt is, Is there a automatic process for migrate messages in the DB to a persistence
file?
Thanks--
Michael Young
Developer Relations Engineer
BEA Support -
When upgrading WLS 8.1 application to WLS 10.x using the Weblogic Upgrade assistant. The code generates the following annotations in WLS 10 application
@Transactional(true)
@UseWLW81BindingTypes()
@WLWRollbackOnCheckedException()
Could someone shed some light on whether we need these annotations. Looked at the documentation on annotations but could not come to a conclusion whether they are need and what are the side effects if I take out these annotations.
http://download.oracle.com/docs/cd/E12840_01/wls/docs103/webserv_ref/annotations.html#wp1057803
Any information on this would be helpful.
Thanks,
PMThe issue is resolved. There are 2 versions of log4j jar in the weblogic class path.
-
Enterprise application conversion problem from WLS 10.3.0 to WLS 10.3.2
Hi all,
I'm posting this just to document a problem I had when converting an Enterprise Application from WLS 10.3.0 across to WLS 10.3.2 environment.
Upon deployment of the application I was getting this error:
Caused By: weblogic.descriptor.BeanAlreadyExistsException: Bean already exists: "weblogic.j2ee.descriptor.wl.ApplicationParamBeanImpl@b720894d(/ApplicationParams[webapp.encoding.default])"
at weblogic.descriptor.internal.ReferenceManager.registerBean(ReferenceManager.java:227)
at weblogic.j2ee.descriptor.wl.WeblogicApplicationBeanImpl.setApplicationParams(WeblogicApplicationBeanImpl.java:560)
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.bea.staxb.runtime.internal.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:48)
at com.bea.staxb.runtime.internal.RuntimeBindingType$BeanRuntimeProperty.setValue(RuntimeBindingType.java:536)
at com.bea.staxb.runtime.internal.AttributeRuntimeBindingType$QNameRuntimeProperty.fillCollection(AttributeRuntimeBindingType.java:381)
at com.bea.staxb.runtime.internal.MultiIntermediary.getFinalValue(MultiIntermediary.java:52)
at com.bea.staxb.runtime.internal.AttributeRuntimeBindingType.getFinalObjectFromIntermediary(AttributeRuntimeBindingType.java:140)
at com.bea.staxb.runtime.internal.UnmarshalResult.unmarshalBindingType(UnmarshalResult.java:200)
at com.bea.staxb.runtime.internal.UnmarshalResult.unmarshalDocument(UnmarshalResult.java:169)
at com.bea.staxb.runtime.internal.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:65)
at weblogic.descriptor.internal.MarshallerFactory$1.createDescriptor(MarshallerFactory.java:150)
at weblogic.descriptor.BasicDescriptorManager.createDescriptor(BasicDescriptorManager.java:323)
at weblogic.application.descriptor.AbstractDescriptorLoader2.getDescriptorBeanFromReader(AbstractDescriptorLoader2.java:788)
at weblogic.application.descriptor.AbstractDescriptorLoader2.createDescriptorBean(AbstractDescriptorLoader2.java:409)
at weblogic.application.descriptor.AbstractDescriptorLoader2.loadDescriptorBeanWithoutPlan(AbstractDescriptorLoader2.java:759)
at weblogic.application.descriptor.AbstractDescriptorLoader2.loadDescriptorBean(AbstractDescriptorLoader2.java:768)
at weblogic.application.ApplicationDescriptor.getWeblogicApplicationDescriptor(ApplicationDescriptor.java:329)
at weblogic.application.internal.EarDeploymentFactory.findOrCreateComponentMBeans(EarDeploymentFactory.java:181)
at weblogic.application.internal.MBeanFactoryImpl.findOrCreateComponentMBeans(MBeanFactoryImpl.java:48)
at weblogic.application.internal.MBeanFactoryImpl.createComponentMBeans(MBeanFactoryImpl.java:110)
at weblogic.application.internal.MBeanFactoryImpl.initializeMBeans(MBeanFactoryImpl.java:76)
at weblogic.management.deploy.internal.MBeanConverter.createApplicationMBean(MBeanConverter.java:88)
at weblogic.management.deploy.internal.MBeanConverter.createApplicationForAppDeployment(MBeanConverter.java:66)
at weblogic.management.deploy.internal.MBeanConverter.setupNew81MBean(MBeanConverter.java:314)
at weblogic.deploy.internal.targetserver.operations.ActivateOperation.compatibilityProcessor(ActivateOperation.java:81)
at weblogic.deploy.internal.targetserver.operations.AbstractOperation.setupPrepare(AbstractOperation.java:295)
at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doPrepare(ActivateOperation.java:97)
at weblogic.deploy.internal.targetserver.operations.AbstractOperation.prepare(AbstractOperation.java:217)
at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentPrepare(DeploymentManager.java:747)
at weblogic.deploy.internal.targetserver.DeploymentManager.prepareDeploymentList(DeploymentManager.java:1216)
at weblogic.deploy.internal.targetserver.DeploymentManager.handlePrepare(DeploymentManager.java:250)
at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.prepare(DeploymentServiceDispatcher.java:159)
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doPrepareCallback(DeploymentReceiverCallbackDeliverer.java:157)
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$000(DeploymentReceiverCallbackDeliverer.java:12)
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$1.run(DeploymentReceiverCallbackDeliverer.java:45)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:516)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
It turns out this was an issue with the META-INF/weblogic-application.xml having duplicate entries for the "webapp.encoding.default" parameter.
This obviously got duplicated when my app was re-imported into the Eclipse OPEP environment for WLS 10.3.2
<?xml version="1.0" encoding="UTF-8"?>
<wls:weblogic-application xmlns:wls="http://xmlns.oracle.com/weblogic/weblogic-application" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/javaee_5.xsd http://xmlns.oracle.com/weblogic/weblogic-application http://xmlns.oracle.com/weblogic/weblogic-application/1.0/weblogic-application.xsd">
<!-- server-version: 10.3 -->
<!--weblogic-version:10.3.2-->
<wls:application-param>
<wls:param-name>webapp.encoding.default</wls:param-name>
<wls:param-value>UTF-8</wls:param-value>
</wls:application-param>
<wls:application-param>
<wls:param-name>webapp.encoding.default</wls:param-name>
<wls:param-value>UTF-8</wls:param-value>
</wls:application-param>
</wls:weblogic-application>
Removing the duplicate entry resolved this problem.
I hope this helps anyone else that experiences this issue.
Regards,
PaulBelow link might be helpful.
http://kr.forums.oracle.com/forums/thread.jspa?threadID=1049509&tstart=0
Regards,
Anandraj
http://weblogic-wonders.com/ -
Upgrading from WLS 8.1 to Oracle WLS 10.3
Hi,
I'm planning to upgrade a client's system consisting of multiple applications running on WLS 8.1 to Oracle WLS 10.3.
Is this an officially supported upgrade path? What would be the best way to do the upgrade?
Are there any tools for automatically importing or converting the old configuration or domains?
Or is it better to create new installations from scratch and manually configure them?
Is there any documentation for this upgrade path?
In practice we would need to run both application servers in parallel for a while.
Can I expect the different server versions to interoperate with each other?
The applications mostly communicate using EJB (v2.0) calls but JMS and Web Services are used as well.
I've tested the EJB calls and they seem to work but what about JMS?Thanks.
Can WLS JMS v8.1 be used as a messaging provider for WLS v10.3 and 8.1 instances
(using it directly or through the Messaging Bridge)?
Is this described in the documentation somewhere?
I also found the following documents that address version compatibility:
http://download.oracle.com/docs/cd/E13222_01/wls/docs103/compatibility/compatibility.html
http://download.oracle.com/docs/cd/E13222_01/wls/docs103/upgrade/compat.html -
Migrate PY and TM cluster data from One SAP System to another
Hi Experts,
Could you please suggest me some options to migrate PY and TM cluster data from One SAP System to another? My requirement is to move all the cluster data (Active and Inactive ees).
I see that PU12 is an option. Anybody used that to migrate between SAP systems. Please provide some details
Points guaranteed
I see that using PU12 you can export only PCL2 Clutsers. Are there any ways to move the other clusters like PCL4 ?Hi,
As far as data transfer, If have all normal configuration settings in your targeted system you can use LSMW (Use T.code AS91 in LSMW for recording) to transfer your data in your both cases.
Hope it resolves your both the issues.
Regards,
Murali -
OS Migration from Windows 2003 cluster to Windows 2008 R2 MSCS
We want to go for windows 2008 R2 server ( 64-Bit) MSCS by migrating from windows 2003 Cluster ( 32- Bit) . We are running on ECC 6.0 and oracle 10.2.0.2 DB.
Is it possible ?
Is it traditional System copy if so how to migrate the cluster ?
Regards> 2. If the oracle version is 10.2.0.2 then does it will support Windows 2008 R2.
You need at least 10.2.0.4 (you need to install that version with a separate DVD, you can't install with the normal Oracle DVD (10.2.0.1). See
Note 1303262 - Oracle on Windows Server 2008
Be aware of the fact that the normal standard support for 10.2.x is ending at end of july (you'll have to pay an extra maintenance fee if you continue to run that version) - see
Note 1110995 - Extended maintenance for Oracle Version 10.2
So if you now do a system copy to new hardware with a new os anyway, I would upgrade to 11.2.
Markus -
Porting EJB 3 MDB from OC4J to WLS
Posting this again since my last post didn't seem to take.
I get the following three deployment error messages when attempting to deploy an application to WebLogic Server 10.3 technical preview. The problem is centered around my deployment of an EJB 3 message driven bean.
1. An error occurred during activation of changes, please see the log for details.
2. Exception preparing module: EJBModule(EngineEjb.jar) Unable to deploy EJB: Requestor from EngineEjb.jar: [EJB:011026]The EJB container failed while creating the java:/comp/env namespace for this EJB deployment. weblogic.deployment.EnvironmentException: [EJB:010176]The resource-env-ref 'jms/demoQueue' declared in the ejb-jar.xml descriptor or annotation has no JNDI name mapped to it. The resource-ref must be mapped to a JNDI name using the resource-description element of the weblogic-ejb-jar.xml descriptor or corresponding annotation. at weblogic.ejb.container.deployer.EnvironmentBuilder.addResourceEnvReferences(EnvironmentBuilder.java:641) at weblogic.ejb.container.deployer.EJBDeployer.setupEnvironmentContext(EJBDeployer.java:246) at weblogic.ejb.container.deployer.EJBDeployer.setupEnvironmentFor(EJBDeployer.java:1013) at weblogic.ejb.container.deployer.EJBDeployer.setupBeanInfos(EJBDeployer.java:907) at weblogic.ejb.container.deployer.EJBDeployer.prepare(EJBDeployer.java:1211) at weblogic.ejb.container.deployer.EJBModule.prepare(EJBModule.java:387) at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:93) at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:381) at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26) at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:56) at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:46) at weblogic.application.internal.BaseDeployment$1.next(BaseDeployment.java:615) at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26) at weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.java:191) at weblogic.application.internal.EarDeployment.prepare(EarDeployment.java:16) at weblogic.application.internal.DeploymentStateChecker.prepare(DeploymentStateChecker.java:147) at weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(AppContainerInvoker.java:61) at weblogic.deploy.internal.targetserver.operations.ActivateOperation.createAndPrepareContainer(ActivateOperation.java:197) at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doPrepare(ActivateOperation.java:89) at weblogic.deploy.internal.targetserver.operations.AbstractOperation.prepare(AbstractOperation.java:217) at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentPrepare(DeploymentManager.java:723) at weblogic.deploy.internal.targetserver.DeploymentManager.prepareDeploymentList(DeploymentManager.java:1190) at weblogic.deploy.internal.targetserver.DeploymentManager.handlePrepare(DeploymentManager.java:248) at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.prepare(DeploymentServiceDispatcher.java:159) at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doPrepareCallback(DeploymentReceiverCallbackDeliverer.java:157) at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$000(DeploymentReceiverCallbackDeliverer.java:12) at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$1.run(DeploymentReceiverCallbackDeliverer.java:45) at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:517) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201) at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
3. Substituted for missing class [EJB - 11026]The EJB container failed while creating the java:/comp/env namespace for this EJB deployment. weblogic.deployment.EnvironmentException: [EJB:010176]The resource-env-ref 'jms/demoQueue' declared in the ejb-jar.xml descriptor or annotation has no JNDI name mapped to it. The resource-ref must be mapped to a JNDI name using the resource-description element of the weblogic-ejb-jar.xml descriptor or corresponding annotation.
My MDB uses an annotation like the following:
@MessageDriven(mappedName = "jms/demoQueue", name = "MyMDB",
activationConfig =
@ActivationConfigProperty(propertyName = "destinationType",
propertyValue = "javax.jms.Queue")
@ActivationConfigProperty(propertyName = "messageSelector", propertyValue =
"RECIPIENT = 'MyRecipient'")
Earlier, I did create a JMS Module named demoQueue with the following resources:
Name Type JNDI Name
testQueue Queue jms/demoQueue
ConnectionFactory-0 Connection Factory jms/QueueConnectionFactory
Any suggestions to fix the WLS deployment error?
For continuing compatibility with my OC4J deployment, I would like to continue using a connection factory with the following JNDI name "jms/QueueConnectionFactory" shown above.
So I plan to add the following properties to the @MessageDriven annotation above. These are needed to continue working with our OC4J deployment. However, my primary concern is to get this MDB working with WLS. Does this strategy seem reasonable for allowing deployment to both OC4J and WLS?
@ActivationConfigProperty(propertyName = "connectionFactoryJndiName",
propertyValue =
"jms/QueueConnectionFactory") ,
@ActivationConfigProperty(propertyName = "destinationName", propertyValue =
"jms/demoQueue")
Thanks,
TravisTravis, you pose a very good question. If I understand your goal, you would like to use code that compiles and works in OC4J and WLS. For example, you want to use javax.ejb.MessageDriven instead of weblogic.ejbgen.MessageDriven.
Using something like mappedName as it is referred to here allows you specify the JNDI name in WLS if it is not defined elsewhere, but it appears to be specific to the WLS implementation.
I've seen several other questions posed about finding all of the available ActivationConfigProperty name / value pairs and I have been unable to find it myself.
I tried several permutations of annotations, and I can't figure out why something like this would even work, but it does. The mapped name is my JNDI name, but I never specify that it is a javax.jms.Queue or which connection factory to use. How does WLS figure that out?
@MessageDriven(
mappedName = "exampleQueue", name = "HelloWorldMDB"
public class HelloWorldMDB implements MessageListener {
@Override
@TransactionAttribute(value = javax.ejb.TransactionAttributeType.REQUIRED)
public void onMessage(Message message) {
System.out.println( "received message " + message );
}This is a good question for support as the documentation seems to be incomplete here. -
Migrating apps from WLS 10.3.0 to SOA Suite 11g-- WLS 10.3.3
Hi,
We want to migrate our apps from WLS 10.3.0 to SOA Suite 11g-->WLS 10.3.3. While deploying the apps on WLS 10.3.3 (SOA Suite Domain 11g), it is throwing exception as below. This exception is common for almost all apps. Kindly help.
Caused by: weblogic.utils.compiler.ToolFailureException: Unable to load your custom module provider's module-factory-class com.bea.wlw.runtime.descriptor.module.ConfigModuleFactory
at weblogic.application.compiler.FlowDriver.handleStateChangeException(FlowDriver.java:53)
at weblogic.application.compiler.FlowDriver.nextState(FlowDriver.java:37)
at weblogic.application.compiler.FlowDriver$CompilerFlowDriver.compile(FlowDriver.java:96)
at weblogic.application.compiler.AppMerge.runBody(AppMerge.java:157)
at weblogic.utils.compiler.Tool.run(Tool.java:158)
at weblogic.utils.compiler.Tool.run(Tool.java:115)
at weblogic.application.compiler.AppMerge.merge(AppMerge.java:169)
... 67 more
Caused by: weblogic.management.DeploymentException: Unable to load your custom module provider's module-factory-class com.bea.wlw.runtime.descriptor.module.ConfigModuleFactory
at weblogic.application.internal.flow.CustomModuleHelper.loadModuleFactory(CustomModuleHelper.java:82)
at weblogic.application.internal.flow.CustomModuleHelper.initFactories(CustomModuleHelper.java:52)
at weblogic.application.utils.CustomModuleManager.createScopedCustomModules(CustomModuleManager.java:119)
at weblogic.application.utils.CustomModuleManager.<init>(CustomModuleManager.java:39)
at weblogic.application.compiler.WARModule.merge(WARModule.java:466)
at weblogic.application.compiler.flow.MergeModuleFlow.compile(MergeModuleFlow.java:23)
at weblogic.application.compiler.FlowDriver$FlowStateChange.next(FlowDriver.java:69)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:41)
at weblogic.application.compiler.FlowDriver.nextState(FlowDriver.java:36)
at weblogic.application.compiler.FlowDriver$CompilerFlowDriver.compile(FlowDriver.java:96)
at weblogic.application.compiler.ReadOnlyEarMerger.merge(ReadOnlyEarMerger.java:49)
at weblogic.application.compiler.flow.AppMergerFlow.mergeInput(AppMergerFlow.java:88)
at weblogic.application.compiler.flow.AppMergerFlow.compile(AppMergerFlow.java:41)
at weblogic.application.compiler.FlowDriver$FlowStateChange.next(FlowDriver.java:69)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:41)
at weblogic.application.compiler.FlowDriver.nextState(FlowDriver.java:36)
... 72 moreBelow link might be helpful.
http://kr.forums.oracle.com/forums/thread.jspa?threadID=1049509&tstart=0
Regards,
Anandraj
http://weblogic-wonders.com/ -
MDB with foreign JMS : WLS 9.23
For the love of _____ (fill in your own muse of desperation here), is there some categorical statement of whether WLS9.23 actually ***works*** with MDB's and foreign JMS providers? Whereever I search/find, people have trouble with this.
Some kind BEA sould - please. Please, please please : publish a canonical example of MDB with secured foreign-JNDI provided connx factory, and either a queue or a topic.
I'm beginning to wonder if this works at all.Good morning!
Categorical Statement: WLS supports JMS spec compliant foreign providers for MDBs, bridges, resource-references, foreign providers. We also support sending a foreign providers message using a WebLogic JMS client.
For general Tibco integration questions, I recall that the Tibco docs themselves contain WebLogic integration examples. There's also some much mention of Tibco in the out-dated "Using Foreign JMS Providers with WebLogic Server" white-paper on dev2dev.
That said, there have been definitely been problems with Tibco and MQ's latest release, as they both recently released semi-non-JMS compliant clients that our wrapper code was unprepared to deal with. In short, we were caught unawares when these clients stopped supporting the 1.0.2 APIs even though 1.1 specification clearly requires both 1.1 and 1.0.2 support. Rather than ask Tibco and MQ teams to have them patch their code (an approach we've sometimes taken over the years), we chose this time to enhance our code.
I think the problems were all fixed by 9.23 - but you may want to contact customer support to see if there are any additional patches required. Alternatively, you can try use a slightly older Tibco client, as presumably their older clients are still able to interoperate with their latest server version (this approach works with MQ).
Tom -
WLS - MDB & Credential Mappings
Hi all,
I've an EAR application that contains some MDB EJBs and for MDB authentication I configured for each of them the Credential Mappings tab under Security section.
It works well. For the configuration I used the WLS console but now I need to automatize this process. I've stored those credential mappings info in a properties file and I'm trying to find out how to use WLST to create/update directly the MDB credential mappings.
Do you sugget to do that in a different way without using WLST ? We have different environments where we have to promote the sw and doing that manually could introduce mistakes ...
Do you have any example or hint ?
Thanks in advance
ferpHi all,
I've an EAR application that contains some MDB EJBs and for MDB authentication I configured for each of them the Credential Mappings tab under Security section.
It works well. For the configuration I used the WLS console but now I need to automatize this process. I've stored those credential mappings info in a properties file and I'm trying to find out how to use WLST to create/update directly the MDB credential mappings.
Do you sugget to do that in a different way without using WLST ? We have different environments where we have to promote the sw and doing that manually could introduce mistakes ...
Do you have any example or hint ?
Thanks in advance
ferp -
Hi ,
I have an MDB deployed under WLS6.1 which is listening to a WLS
JMS Queue and the MDB(which calls a MQ Client) has to deliver the
message to MQ Server once it recieves a message from WLS JMS Queue .
Now how do I enable the JDBC store to take the messages which fail on
the MDB side assuming the MQ Server is failing and the MDB should
retry it again. Or what is the best solution in this scenario without
using any transactional object . Any suggestions pls about .
thanks
taniga s
Approach One:
Could you have a three bridges all reading the queue, one for each target MQ server?
This would not be fail-over, but may solve your problem - as it is high-availability.
(Bridges automatically attempt reconnect on failure.)
Approach Two:
Could you forward the message using error destinations, this
is a feature in 6.1 that redirects recovered or rolled back messages
to an error destination:
Q1, error dest is ERROR1, set redeliveryLimit to 0
ERROR1 error dest is ERROR2, set redeliveryLimit to 0
ERROR2 error dest is ERROR3, set redelivery limit to 0
MDB on Q1 goes to MQ queue A
MDB on ERROR1 goes to MQ queue B
MDB on ERROR3 goes to JDBC
taniga wrote:
> Hi Tom,
> Thanks a lot and I appreciate your help on this. Actually my
> situation is kinda different. Our MDB has to be looking for
> alternative MQ Servers if one is failing and hence we cannot bind the
> MDB to just a single Queue. So I think i cannot utilize the Bridging
> btwn MQ and WLS JMS.My aim is like I have to handle the error when MQ
> Server is down and I should be able to route it to another MQ Server.
> And in this case too if it fails I should be able to take this message
> to JDBC Store(considering MDB could not deliver the message to MQ
> Server). I hope this one explains my problem.
>
> thanks
> taniga s
>
> Tom Barnes <[email protected]> wrote in message news:<[email protected]>...
> > Probably the best solution is to use a bridge to automatically
> > forward messages between WL and MQ. See the
> > post on "How to use IBM MQ as a JMS Provider".
> >
> > Some possible solutions:
> >
> > 1 MDB could accept the message and resend it to its WLS queue with
> > a birth-time (time-to-deliver) for later retry.
> >
> > 2 MDB could reject message (by throwing a runtime exception, such
> > as NullPointerException). WL behavior here is to call recover() and
> > resend message. (Alternatively make the MDB transactional and set
> > rollback-only.) To prevent message from being immediately
> > redelivered, configure a redelivery delay on the destination.
> >
> > 3 MDB could be undeploy self on failure, and a timer object or some such
> > thing could be initiated to redeploy MDB once it detects
> > MQ dest comes up.
> >
> > Redelivery delay and time-to-deliver are both WL extensions. They
> > are described in detail in the JMS programmer's guide.
> >
> > taniga wrote:
> >
> > > Hi ,
> > > I have an MDB deployed under WLS6.1 which is listening to a WLS
> > > JMS Queue and the MDB(which calls a MQ Client) has to deliver the
> > > message to MQ Server once it recieves a message from WLS JMS Queue .
> > > Now how do I enable the JDBC store to take the messages which fail on
> > > the MDB side assuming the MQ Server is failing and the MDB should
> > > retry it again. Or what is the best solution in this scenario without
> > > using any transactional object . Any suggestions pls about .
> > >
> > > thanks
> > > taniga s
-
Propagating the User Context from Webshpere MQ to WLS (MDB)
Hello all,
i have the problem, that i have to delegate a user (form WebSphere - MQMD.UserIdentifier) to a MDB.
My requirement is, that the MDB runs under the user specified by the MQ Field.
Thanks for any advice.
regards
GiovanniHello all,
i have the problem, that i have to delegate a user (form WebSphere - MQMD.UserIdentifier) to a MDB.
My requirement is, that the MDB runs under the user specified by the MQ Field.
Thanks for any advice.
regards
Giovanni -
Replicated session state with WLS 5.1 sp 6 in cluster
Hello, i've seen in BEA documentation this:
Applications Using Frames Must Coordinate Session Access
If you are designing a web application that utilizes multiple frames, keep in mind
that there is no synchronization of requests made by frames in a given frameset.
For example, it is possible for multiple frames in a frameset to create multiple
sessions on behalf of the client application, even though the client should logically
create only a single session.
In a clustered environment, poor coordination of frame requests can cause unexpected
application behavior. For example, multiple frame requests can "reset" the application's
association with a clustered instance, because the proxy plug-in treats each request
independently. It is also possible for an application to corrupt session data by
modifying the same session attribute via multiple frames in a frameset.
To avoid unexpected application behavior, always use careful planning when accessing
session data with frames. You can apply one of the following general rules to avoid
common problems:
· In a given frameset, ensure that only one frame creates and modifies session data.
· Always create the session in a frame of the first frameset your application uses
(for example, create the session in the first HTML page that is visited). After the
session has been created, access the session data only in framesets other than the
first frameset.
My environment is clustered(multi-tier) and jsp and servlets use frameset, could
you explane this?
I don't understand very well
Thanks and regards
Fabio
Thanks for you suggest!
Fabio
"Mike Reiche" <[email protected]> wrote:
>
>It means that all the jsps executed from the same browser use the same
>httpsession
>- so be aware of it.
>
>If the jsp in the first frame does ---
>
> httpSession.put("MYNAME", "GOODVALUE");
>
>and the jsp the second frame does ....
>
> httpSession.put("MYNAME", "BADVALUE");
>
>then the jsp in the first frame does ...
>
> value = httpSession.get("MYNAME");
>
>You might get "GOODVALUE" or you might get "BADVALUE" since both
>JSPs execute concurrently without synchronization and they both store
>something under
>the same key in the same httpSession.
>
>Mike
>
>"Fabio Rossi" <[email protected]> wrote:
>>
>>Hello, i've seen in BEA documentation this:
>>
>>Applications Using Frames Must Coordinate Session Access
>>
>>If you are designing a web application that utilizes multiple frames,
>keep
>>in mind
>>that there is no synchronization of requests made by frames in a given
>frameset.
>>For example, it is possible for multiple frames in a frameset to create
>>multiple
>>sessions on behalf of the client application, even though the client
>should
>>logically
>>create only a single session.
>>In a clustered environment, poor coordination of frame requests can
>cause
>>unexpected
>>application behavior. For example, multiple frame requests can "reset"
>the
>>application's
>>association with a clustered instance, because the proxy plug-in treats
>>each request
>>independently. It is also possible for an application to corrupt session
>>data by
>>modifying the same session attribute via multiple frames in a frameset.
>>To avoid unexpected application behavior, always use careful planning
>when
>>accessing
>>session data with frames. You can apply one of the following general
>rules
>>to avoid
>>common problems:
>>· In a given frameset, ensure that only one frame creates and modifies
>session
>>data.
>>
>>· Always create the session in a frame of the first frameset your application
>>uses
>>(for example, create the session in the first HTML page that is visited).
>>After the
>>session has been created, access the session data only in framesets
>other
>>than the
>>first frameset.
>>
>>My environment is clustered(multi-tier) and jsp and servlets use frameset,
>>could
>>you explane this?
>>I don't understand very well
>>
>>Thanks and regards
>>Fabio
>>
>
Maybe you are looking for
-
Oracle Spatial User Conference - Phoenix, Az Apr 29th 2010- Agenda
Oracle Spatial User Conference - Agenda Now Available! Register Today The 2010 Oracle Spatial User Conference agenda is now available. Visit http://www.gita.org/oracle to check it out. This year's program includes ** More technical training sessions
-
What type of connector needed for Russia and iPod?
I'm traveling to Russia and will need to recharge iPod once I get there. What kind of adapter/connector will I need? I have the 80GB.
-
Formula mode (Returns the most repetitive value in range of data)
Hi all, I'm using XIR2.0 but in the next month we will use R3, does anybody knows if the mode (Returns the most frequently occurring, or repetitive, value in an array or range of data. ) formula exist in this new version? Thanks.
-
Human Task in jDeveloper 11g users list not available
I have the problem, I defined SQL authenticator in wenlogic, and I want to do assignment at human task. But, human task only see jazn users, alhough I see the users defined in db at weblogic console Caused By: ORABPEL-10509 User not found. User "bpmu
-
My 3gs screen slides side to side but not up and down
my iphone 3gs screen works sliding it side to side but not up and down. i dropped it a few days ago and it stopped working