Throtting or Work Managers - OSB @ method level

Would it be possible to throttle a BS or set a work manager for the PS at the WSDL operation level?

Work-manager setup and throttling are two different concepts. Throttling is used to restrict the message flow to a business service however work managers are used to prioritize service work. Remember that in case of throttling there is possibility of message loss however with work manager setup there is no such possibility.
To give an example, suppose you are routing PO ACK's to target system. Given that, latest PO ACK is sufficient to provide the status of PO, it is not mandatory to deliver all the PO ACKs to the target system. So if I have to restrict the flow to target system here, I will use throttling.
If there are two type of messages being processed in your OSB, suppose PO and PO ACK, you will always prefer that PO gets processed on priority and PO ACK processing must not affect the PO processing. Hence here I will use work-manager to prioritize the processing of PO.
Regards,
Anuj

Similar Messages

  • Applicable OSB service points to attach Work Managers

    Hi All,
    Currently I have an OSB design as below:
    I have 3 work managers each having a different fair share class as per their priorities.
    I have a single HTTP Proxy service, which takes the hit from all source applications. Based on a DVM and message contents, the proxy determines the priority of the particular request message, and will accordingly route it to one of 3 HTTP proxies (Priority 1 HTTP Proxy, Priority 2 HTTP Proxy, Priority 3 HTTP Proxy). These 3 HTTP Proxy services will then forward the request further to other OSB and target appplication services.
    On each of the 3 priority proxy services, I have assigned the appropriate work manager.
    However, I am confused on whether to assign a work manager to the exposed HTTP Proxy or not. If I do assign a work manager, whether a fair share request class should be assigned or not. From what I read in oracle documentation, assigning a work manager without fair share class, will assign a fair share of 50 automatically.
    What should be done to the exposed HTTP Proxy in order to achieve the prioritization of requests processing.

    Hi,
    as far as I know there is no standard way of doing this in CRM 7.0.
    I imaging it would be possible to call an ERP smartform from CRM by :
    - writing an RFC capable function module in ERP that wraps the call of the smartform and returns the generated PDF data.
    - writing a function or method in CRM that calls the ERP function module and displays the returned data.
    In the lead and opportunity the print preview is done by having a print relevant action in the action profile assigned to the transaction type and I guess for these it should be possible to call a function module by creating an own smart forms method.
    But I think this is not possible for an ERP quotation, so you would have to create an own button. In the event handler for this button, one could call the ERP function module and display the result.
    Paul

  • Work Managers for SOA composites

    Hi All,
    We have couple composites which needs to be deployed on Oracle SOA 11g, weblogic as platform. My question is can we set work managers for different composites like we generally set dispatch policy for proxy services in OSB. Please let me know.
    Regards.

    Hi
    I don't believe you set workmanagers on a composite by composite basis but it may be possible to setup new application scoped work managers in Weblogic although I have never tried this...
    Damien

  • Work Manager both Global Work Managers & Application-scoped Work Managers

    Hi all,
    I want to use both Global Work Managers & Application-scoped Work Managers in my domain [single], is it possible?
    Basically I want to make sure my domain have fix number of thread.
    In my environment, I have multiple domains on a single machine, so I want to make sure every domain has fix number of threads to maintain the whole system integrity.
    if I won't make sure this, there could be scenario that one particular domain is taking much of the CPU usages than others.
    Thanks,
    Qumar

    Hello Fred,
    Thank you very much for reply.
    I totally agree with you but in my scenario, I have multiple domains on a single box.
    and I am afraid that there could be a situation where one bad application of a particular domain may take most of the CPU usages.
    What I can do is: I can define max thread constrain to all the applications of all the domains but it is not acceptable bcz we have hundreds of applications per domain.
    So what I want is: to define some kind of thread constrain at the domain level [so that I can have CPU usages allocated to every domain] as well as some kind of thread constrain to few applications [non prioritize].
    I tried this by defining Global Work Managers & Application-scoped Work Managers but I found that applications only respect to Application-scoped Work Managers.
    or if I have some kind of way that make sure certain percentage of CPU usages is allocated to a particular domain?
    hope I have made my self clear.
    Thanks,
    Qumar

  • Regarding wlss work managers

    I am using WLSS 3.1-MP1. I have couple of doubts regarding work managers wlss.timer & wlss.transport.
    1. Minimum Threads Constraint : Weblogic documentation says "+The minimum number of threads allocated to resolve deadlocks+". Does it mean that these threads won't be used to process messages & timers ? What happens if this constraint is not specified ?
    2. wlss.timer : WebLogic document says "+SIP timers are processed by a work manager named wlss timer+". Does it mean application level timers (ServletTimer) or the container level timers (e.g. transaction timers etc..)
    3. wlss.transport : I am assuming the MaxThreadsConstraints specified for this work manager tells maximum number of threads that can process incoming SIP messages (requests and responses) for new and existing sessions...Am I right?
    Thanks,
    KeDar

    Yes wlss.timer work manager handles execution of all the timers (application or container/protocol level)
    Similarly wlss.transport is workmanager for handling all the sip messages
    Regarding WM's, it is more of core weblogic query. But IMO
    Minimum Threads Constraint : Essentially means that at least that many threads will be working for the given WorkManager out of common pool of threads
    and
    Maximum Threads Constraint on workmanager essentially means at most that many threads will be working for the given WorkManager out of common pool of threads
    IMO If no Minimum Threads Constraint is specified then still that WM will get threads as per need till pool has some idle threads and/or we are still below pool capacity where in new thread will be spawned.

  • Does Supplier Capacity Constraint work at Item Category level ?

    Does Supplier Capacity Constraint work at Item Category level (defined in ASL) in ECC plan?

    Raja,
    There is no functionality to support supplier capacity at the "category" level in ASCP. That would be a nice feature, but it does not exist as per 11.5.10 and I've see no enhancements like this for R12 yet.
    You can define supplier capacity only for the specific item-supplier-site relationship via the asl.
    As a workaround, there is a feature to define supplier capacity for an ATO model. This could be a dummy item. Then set each of the items that you want to consume supplier capacity to be an ATO item for that ATO model. This is the only current method to share a given supplier capacity across items in ASCP.
    Kevin

  • JDeveloper 11 ignores @SuppressWarnings at method level

    Seems that this only works at class level.
    If you add it at a method level, JDev simply ignores it and continues to display warnings.
    Has anyone found how to get it to work?

    Hi,
    This is the code:
    <snip>
    @SuppressWarnings("unchecked")
    public List<T> findAll(final int... rowStartIdxAndCount)
    return commonPersistence.findAll(getClassName(), rowStartIdxAndCount);
    <snip>
    If I add this annotation to the line just before declaration of the class, it actually works, but becomes reasonably useless as I don't see any other warnings for the class.
    Thanks
    Jonny

  • Generics at method level

    As we all know, in Java5.0, Sun introduced Generics. Now I used this at class level and at field method. However I tried using them at method level, but could not succeced.
    I did a search on the internet and I found a very good article about generics. The url is the following: http://www-128.ibm.com/developerworks/java/library/j-djc02113.html
    Scrolling to the bottom, I found out what I needed. the example on that website shows the following:class Utilities {
       <T extends Object> public static List<T> make(T first) {
         return new List<T>(first);
    }However I tried to do this code in a method inside my project, but did not work at all.
    Does any one know how I can do generics at method level. What I want to achieve is that you pass the class type you want to be returned as a generic at the method level.
    regards,
    sim085

    Please before you check my code, check the example that there is in the article, that is the code I posted in my first post. I based all this on the information I read from the website, and since the source looks very reliable,, there is no need for me to doubt that it works!
    I did a simple example, I am just using generics to get used to them ... Here comes the exampleimport java.util.*;
    public class Test{
         private List<String> myList;
         public Test(){
              myList = new ArrayList<String>();
              <List>normalMethod();
         <T>public T normalMethod(){
              return null;
         <T>public static void staticMethod(){
         public static void main(String... args){
              <List>staticMethod();
              new Test();
    }The exception throws is an exception you would see when the syntax is incorrect. However I do have Java5.0 and if you delete the methods and the method calls, but you leave the generics at the field level , the code would compile.
    The exception throws are the following:C:\Documents and Settings\saquilina\My Documents\Test.java:21: illegal start of type
         <T>public static void staticMethod(){
               ^
    C:\Documents and Settings\saquilina\My Documents\Test.java:32: <identifier> expected
    }Now since in the example in that website they use a static method, I tried it also with a static method, but it did not work all the same :(
    regards,
    sim085

  • Using work managers to process WorkItems in a message driven bean

    Hi, I'm trying to get to grips with using a work manager (in 10.3) to process WorkItems concurrently, with the whole process being triggered by a JMS message. I've got everything working using the default work manager but I'm having problems switching over to using a work manager that I've created myself, using annotations to provide the resource ref.
    My current setup, using the default work manager, is (roughly) this:
    @MessageDriven(mappedName = "jms/tsrd.DependencyWorker", activationConfig = {
            @ActivationConfigProperty(propertyName = "connectionFactoryJndiName", propertyValue = "jms/connectionFactory"),
            @ActivationConfigProperty(propertyName = "ejbName", propertyValue = "tsrd.DependencyWorker"),
            @ActivationConfigProperty(propertyName = "destinationJndiName", propertyValue = "jms/tsrd.DependencyWorker"),
            @ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue") })
    @Interceptors(SpringBeanAutowiringInterceptor.class)
    public class DependencyWorker implements MessageListener {
        private WorkManager workManager;
        @Required
        @Resource(name = "taskExecutor")
        public void setWorkManager(final WorkManager workManager) {
            this.workManager = workManager;
        public void doOperation(final WorkflowControlMessage msg) throws Exception {
             Work myWork = new ...
             workManager.schedule(myWork, listener);
    }With my spring config including this bean:
    <bean id="taskExecutor" class="org.springframework.scheduling.commonj.WorkManagerTaskExecutor">
        <property name="workManagerName" value="wm/default"/>
        <property name="resourceRef" value="true"/>
    </bean>And this works fine: when the JMS message is received I send a load of WorkItems to the default work manager and they get processed.
    Now what I'd like to do is change the spring config to this:
    <bean id="taskExecutor" class="org.springframework.scheduling.commonj.WorkManagerTaskExecutor">
        <property name="workManagerName" value="wm/MyWorkManager"/>
        <property name="resourceRef" value="true"/>
    </bean>Where I've already created MyWorkManager as a global work manager for the server, and it's visible on the admin server for the deployment.
    From the examples I've seen I know I need to add a resource ref for the MDB so that it can lookup the work manager using JNDI. We mainly use annotations, so I'd like to just be able to add this line to the MDB:
    @Resource(name = "MyWorkManager", type = commonj.work.WorkManager.class, authenticationType = Resource.AuthenticationType.CONTAINER, shareable = true)But when I try that my server refuses to start:
    Unable to deploy EJB: DependencyWorker from tsrd-mdb.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 'MyWorkManager' 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.So is there a way to fully configure my work manager just using the @Resource annotation, or do I need to add a weblogic-ejb.jar.xml file and put some specific config in there? Presumably if I do need to add an xml file then I'd need to put something like this in it?
    <wls:weblogic-enterprise-bean>
        <wls:ejb-name>DependencyWorker</wls:ejb-name>
        <wls:resource-description>
            <wls:res-ref-name>MyWorkManager</wls:res-ref-name>
            <wls:jndi-name>wm/MyWorkManager</wls:jndi-name>
        </wls:resource-description>
    </wls:weblogic-enterprise-bean>Am I also right in thinking that I don't need to add a dispatch policy to the MDB specifying MyWorkManager, because I don't actually want to dispatch the MDB to that manager, I just want the manager to be available to the MDB.
    Thanks.

    Hi, so I've added a weblogic-ejb.jar.xml file with a reference to the JNDI name of the work manager:
    <?xml version="1.0" encoding="UTF-8"?>
    <wls:weblogic-ejb-jar xmlns:wls="http://xmlns.oracle.com/weblogic/weblogic-ejb-jar" 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/ejb-jar_3_0.xsd http://xmlns.oracle.com/weblogic/weblogic-ejb-jar http://xmlns.oracle.com/weblogic/weblogic-ejb-jar/1.0/weblogic-ejb-jar.xsd">
        <wls:weblogic-enterprise-bean>
            <wls:ejb-name>DependencyWorker</wls:ejb-name>
            <wls:resource-description>
                <wls:res-ref-name>MyWorkManager</wls:res-ref-name>
                <wls:jndi-name>wm/MyWorkManager</wls:jndi-name>
            </wls:resource-description>
        </wls:weblogic-enterprise-bean>
    </wls:weblogic-ejb-jar>But I still get exactly the same error when I try to start my server. The example you referred to kind of cryptically suggests that adding a plan.xml suddenly fixed everything, but what am I missing here that actually hooks the work manager up to JNDI? am I getting these problems because I'm using annotations, or are people not supposed to access work managers in this way?
    Thanks,
    Edited by: 806682 on 05-Nov-2010 08:57

  • Work status at application level

    Hi Team
    Can any one explain purpose of keeping dimension members in work status settings where dimensions are not relevent for work status at application level?

    Hi Miguel,
    You are comparing work status and the validation rules. However, these 2 are completely different functionalities.
    For maintaining validations, please take a look at the below links from help.sap:
    http://help.sap.com/saphelp_bpc75_nw/helpdata/en/72/027eddf803405eb131738b655408ce/content.htm
    http://help.sap.com/saphelp_bpc75_nw/helpdata/en/d9/7e49e5b686462a9f2a2d38c98b8446/content.htm
    For work status, please refer to the below links from help.sap:
    http://help.sap.com/saphelp_bpc75_nw/helpdata/en/f8/d51b881cfa4c5992de481ccfa05db3/content.htm
    http://help.sap.com/saphelp_bpc75_nw/helpdata/en/75/712b5c7be845cbb1e76cfe78650343/content.htm
    Hope this helps.

  • Work managers threads constraint and page cannot be displayed

    Hi,
    We have a memory intensive processing for certain functionality and we would like to limit the number of parallel requests to process these requests. We are able to acheive configure by using "Work Managers" in WebLogic and putting a limit on the number of threads for that servlet.
    For example, if we put maximim thread limit as 3, then if there are 10 parallel requests; 7 requests are in queue. There could be situations where these the requests waiting in queue could take up to 30-40 minutes to be processed.
    We are observing that some times we get page cannot be displayed after 15 mins and some times we get this afer 1 hour. Is there a setting in WebLogic that drives page cannot be displayed or is this a browser setting?
    Thanks

    Hi RAdha,
    CRSJavaAdmin.exe is controlled by UCCX node manage servicer, Can you go to the serviceability tool (start - programs - Cisco unified CCX administrator - Cisco Unified CCX serviceability ) and in process ACtivation tab make sure all the services aren enabled specialy "cisco unified CCX administrator" if not enable it and restart the node manager service from the services menu
    Hope this helps
    Thank you
    Anuj

  • How to implement method level authorisation in JSF

    Hi all,
    I am new to JSF 2. I have been able to implement authorization on my web pages, but I also want to implement it at the bean level. Does JSF 2 provide an in-built functionality to implement role-based authorization on bean methods? Or, I need to use some security frameworks (i.e. ACEGI)?
    Thanks in advance,
    Neeraj

    I am curious: can you explain WHY you want method level security? It seems woefully overkill and paranoid to me - server level security should be enough to keep out rogue code.
    Anyway for that level of security, the security measures built into the JVM should be used.
    [Java Security documentation|http://java.sun.com/javase/technologies/security/]
    You can also look into a security API like Spring security - be warned though, it has a steep learning curve.

  • Why do we need work managers if the self-tuning pool is not limited ?

    Hi all,
    AFAIK, the self-tuning thread pool in WLS 10.3 is not limited in size, meaning it can grow indefinitely.
    On the other hand, work managers only make sense when there's a shortage in resources, and we need to decide what are the priorities to get a thread and CPU time.
    So if, for example, I have a system that's only 20% busy even on the heaviest load, the work managers will never "kick in" actually, since there's "enough for everyone".
    Thanks for sharing your thoughts!

    If you have more than a single application deployed and only have the default work manager, all apps compete equally and are also equally unable to be tuned in their thread usage.
    If you instead have a unique work manager for each app, you can limit each app's consumption of resources - if needed - or alter each work manager's treatment / tolerance of hogging threads. For instance, an app that maintains sockets versus a webapp.
    Having separate workmanagers allows you to tune the apps individually. If needed.

  • How to configure OSB Tracing level from Customization File?

    Hi,
    I want to configure the OSB Tracing level from the customization file rather than from the console.
    I check the oracle documentation for OSB tracing and could not find anything related to OSB tracing property that we could configure from OSB workshop.
    Is it possible to do so ?
    Any pointers will be highly helpful.
    Thanks,
    Anugoonj
    Edited by: Anugoonj Ranjan on Jan 20, 2011 1:27 PM

    Customization file is for replacing environment values that differ between domains and NOT for changing Operational Settings. You may use "Configuration" section of OSB Dashboard to effectively change Operations Settings for resources instaed of doing it one-by-one on console -
    http://download.oracle.com/docs/cd/E14571_01/doc.1111/e15867/configuration.htm#CACGEFAE
    Regards,
    Anuj
    Edited by: Anuj Dwivedi on Jan 20, 2011 6:10 PM

  • Method-level Locking

    (Here's another one):
    I'm unable to find a way to enable method-level locking in WebLogic.
    This kind of lock has the same semantics as a simple "synchronized" on the
    method level (which you cannot write as a bean developer). The advantage is
    that you've got thread-safe access to a method without expensively
    interfering with the transaction manager.
    So is this possible in WLS v6.1/v7.0?
    Regards,
    Pieter Van Gorp.

    I assume you are talking about entity beans. You can use the "Exclusive"
    concurrency strategy. Here is the link:
    http://e-docs.bea.com/wls/docs61/ejb/reference.html#1139340
    "Pieter Van Gorp" <[email protected]> wrote in message
    news:[email protected]..
    (Here's another one):
    I'm unable to find a way to enable method-level locking in WebLogic.
    This kind of lock has the same semantics as a simple "synchronized" on the
    method level (which you cannot write as a bean developer). The advantageis
    that you've got thread-safe access to a method without expensively
    interfering with the transaction manager.
    So is this possible in WLS v6.1/v7.0?
    Regards,
    Pieter Van Gorp.

Maybe you are looking for

  • My sound is coming from my built in speakers instead of through the headphone jack.

    I have an Envy 15 1270ca and last night it froze while I was listening to music, forcing me to manually shut it off by holding down the power button. When the computer came back on, my sound was coming out of my built-in speakers instead of my extern

  • [Solved] Installing different graphics card

    I have an ASUS G50Vt with a GeForce 9800M GS card. During my installation of Arch, I figured I'd settle with the Nouveau driver because it's easy to install. Now I want to upgrade to the NVIDIA-Linux-x86_64-260.19.36 driver. How would I go about disa

  • Can I use US purchased Torch 9800 in Europe?

    I was about to ditch the Torch because I've read on travel sites that BB isn't supported in Europe, specifically Italy, Greece, England. ATT gave me instructions to unlock phone but I was told I'm best off buying IPhone or Samsung. A short time ago I

  • Iphone rings on ipad

    Can someone tell me why, when I receive a phone call, that my iPad rings but not my iPhone? I don't know when I'm getting a call on my iPhone. Strange.

  • ILife missing from new mac!

    Hello there I've just got my brand new Mac - literally just 10 mins ago, and thats me all set up. I bought it online from a UK retailer, and although it was refurbished, it was advertised that it would include iLife "Includes iTunes, Time Machine, Qu