Application scoped WorkManager

We have an application (.ear) which has two web apps (war's). We want to setup workmanager with max-threads-constraint for both the application. I was able to create application scoped workmanager through deployment descriptors However, I was not able to set the thread count other than the default (-1).
Note: The application (.ear) is targeted to a cluster.
Here is the snippet of the workmanager that I created in the weblogic.xml
<wl-dispatch-policy>workmanager-app1</wl-dispatch-policy>
<work-manager>
<name>workmanager-app1</name>
<max-threads-constraint>
<name>max-app1-threads</name>
<count>30</count>
</max-threads-constraint>
</work-manager>
Please let me know if any thing is wrong in the work-manager configuration. Any pointers on this is highly appreciated.

I need a mechanism to limit one of the webapp to use not more than 30 threads and the second webapp not more than 10 threads while targetting to the same cluster.

Similar Messages

  • Defining application-scoped work manager in Plan.xml

    I am having trouble getting my MDBs to recognize work managers that I have defined in my deployment plan using the admin console.
    The work managers show up properly when I click the deployed application and go to the Deployments->myapp.ear->Configuration->Workload tab. They do not show up, however on the Deployments->myapp.ear->Monitoring->Workload tab.
    Also, when the server boots, I get a log message like this:
    <BEA-002919> <Unable to find a WorkManager with name FaxErrorQueue. Dispatch policy FaxErrorQueue will map to the default WorkManager for the application care360-backend-app-2008>even though FaxErrorQueue shows up under Configuration->Workload.
    BACKGROUND
    I am upgrading an 8.1 wls to 10MP1. Our MDBs are deployed as a single jar, included in 2 separate ears, which are deployed to 2 separate clusters. So, if we have 2 clusters with 2 managed servers in each cluster, we deploy each MDB to all 4 servers. We control the Execute Queues for each server in 8.1 with different values so that MDB#1 might have a single thread in one managed server and zero execute threads on another. Using the deployment plan is the only way I can think of to implement this. We would prefer not to use the 8.1 emulation, as the deprecated execution queues will have to be dealt with eventually. I am open to any other approaches to accomplish this as well.
    Thanks,
    Joe

    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

  • Application scoped objects in a cluster

    Hi -
              Will weblogic clustering provide failover for Application scoped
              objects (in the ServletContext)? I've read through most of the
              documentation, and it doesn't mention anything. Also, the servlet 2.3
              spec says
              "Context attributes are local to the VM in which they were created.
              This prevents
              ServletContext attributes from being a shared memory store in a
              distributed
              container. When information needs to be shared between servlets
              running in a
              distributed environment, the information should be placed into a
              session (See
              Chapter SRV.7, &#8220;Sessions&#8221;), stored in a database, or set
              in an Enterprise
              JavaBeans TM component." (Section 3.4)
              However, it doesn't mention anything about failover.
              We have lots of application scoped objects that will need to failover
              somehow - anyone have experience with this?
              Thanks,
              Scott
              

    Hi Scott,
              The application scoped objects (ServletContext) are per Web Container as
              explained in the spec. When the server hosting that Web Container dies, so
              too do the objects in the ServletContext.
              If you are looking something like ServletContext that is replicated across
              the cluster and supports failover, you should check out our Coherence
              product at http://www.tangosol.com/ -- that is exactly what it does.
              Peace,
              Cameron Purdy
              Tangosol Inc.
              Tangosol Coherence: Clustered Coherent Cache for J2EE
              Information at http://www.tangosol.com/
              "Scott Gilpin" <[email protected]> wrote in message
              news:[email protected]...
              > Hi -
              >
              > Will weblogic clustering provide failover for Application scoped
              > objects (in the ServletContext)? I've read through most of the
              > documentation, and it doesn't mention anything. Also, the servlet 2.3
              > spec says
              >
              > "Context attributes are local to the VM in which they were created.
              > This prevents
              > ServletContext attributes from being a shared memory store in a
              > distributed
              > container. When information needs to be shared between servlets
              > running in a
              > distributed environment, the information should be placed into a
              > session (See
              > Chapter SRV.7, &#8220;Sessions&#8221;), stored in a database, or set
              > in an Enterprise
              > JavaBeans TM component." (Section 3.4)
              >
              > However, it doesn't mention anything about failover.
              >
              > We have lots of application scoped objects that will need to failover
              > somehow - anyone have experience with this?
              >
              > Thanks,
              > Scott
              

  • 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

  • APPLICATION SCOPED DATASOURCE

    Is possible to set the "Emulate two phase commit for non XA Driver" property for
    an application scoped datasource??
    Thanx

    Is possible to set the "Emulate two phase commit for non XA Driver" property for
    an application scoped datasource??
    Thanx

  • XML Application Scoping

    I am trying to use the XML scoping feature to set the relevant XML / XSLT factories
    using the weblogic-application.xml file (http://edocs.bea.com/wls/docs81/xml/xml_appscop.html).
    I have a single webapp (war file) file that I am packaging inside an .ear archive.
    However, these configuration seem to have no effect. I'm doing some logging
    and see that the parser is still shown to be the XMLRegistry class. Does anyone
    have this working?
    - Tim

    Hi Tim,
    Did you update the MANIFEST.MF with the classpath to point to the
    relevant jar in your package?
    See step 2: http://edocs.bea.com/wls/docs81/xml/xml_appscop.html#1075700
    Thanks,
    Bruce
    Tim Bardzil wrote:
    >
    I am trying to use the XML scoping feature to set the relevant XML / XSLT factories
    using the weblogic-application.xml file (http://edocs.bea.com/wls/docs81/xml/xml_appscop.html).
    I have a single webapp (war file) file that I am packaging inside an .ear archive.
    However, these configuration seem to have no effect. I'm doing some logging
    and see that the parser is still shown to be the XMLRegistry class. Does anyone
    have this working?
    - Tim

  • Help: PhaseListener -session or Application scoped?

    Hi.,
    I am using default PhaseListener in my backing bean's (for 2 beans) constructor with a method as shown below:
    public void beforePhase(PhaseEvent event) {
                   resetValues();
           }So whenever a page reloads then this method gets invoked. Its working pretty fine.
    The problem is when I open a new browser and open the application's index page then resetValues() method got invoked.
    I saw with debug that the PhaseListener array inside the lifecycle was having the old one's backing bean (PhaseListener).
    I do I restrict the PhaseListener to session scope?
    Any help is highly appreciated.

    see the Javadocs of PhaseListener:
    An interface implemented by objects that wish to be notified at the beginning and ending of processing for each standard phase of the request processing lifecycle.
    http://java.sun.com/javaee/javaserverfaces/1.1/docs/api/javax/faces/event/PhaseListener.html

  • WorkManager and ignore-stuck-thread setting

    In WL 10.3, using an application scoped work manager with the following .war deployment descriptors:
    web.xml:
    <resource-ref>
    <res-ref-name>wm/WorkManagerABC</res-ref-name>
    <res-type>commonj.work.WorkManager</res-type>
    <res-auth>Container</res-auth>
    <res-sharing-scope>Shareable</res-sharing-scope>
    </resource-ref>
    weblogic.xml:
    <work-manager>
    <name>WorkManagerABC</name>
    <fair-share-request-class>
    <name>abcClass</name>
    <fair-share>1000</fair-share>
    </fair-share-request-class>
    <ignore-stuck-threads>true</ignore-stuck-threads>
    <min-threads-constraint>
    <name>MinThreadsCountTen</name>
    <count>10</count>
    </min-threads-constraint>
    <max-threads-constraint>
    <name>MaxThreadsCountTwenty</name>
    <count>20</count>
    </max-threads-constraint>
    </work-manager>
    <wl-dispatch-policy>WorkManagerABC</wl-dispatch-policy>
    ( This particular app is meant to be a socket listener using javax.nio ). This results in WL seeing "stuck threads" after the default 600 seconds. In our clusters, our clusters are configured that 3 stuck threads cause a server restart by nm.
    So I created the same objects at the domain level ( workmanager, min/max/fair-share ), with the workmanager set to ignore stuck threads.
    web.xml
    <resource-ref>
    <res-ref-name>WorkManagerABC</res-ref-name>
    <res-type>commonj.work.WorkManager</res-type>
    <res-auth>Container</res-auth>
    <res-sharing-scope>Shareable</res-sharing-scope>
    </resource-ref>
    weblogic.xml
    <weblogic-version>10.3</weblogic-version>
    <!-- no work manager defined -->
    <wl-dispatch-policy>WorkManagerEni</wl-dispatch-policy>
    The app deploys and simple web pages are processed within the WorkManagerABC wm. Although WL still marks 4 threads as hoggers, none of them are stuck. So no restart, and the server Health stays OK.
    So a workManager at the server level obeys the "Ignore Stuck Threads" while an application scoped workmanager does not.

    I wasn't too disappointed that the application-scoped workmanager didn't obey the stuck threads; I'd rather have the work manager configurable at the server console level without having to involve customized deployment plans to override hard-coded thread restraint levels in the app's deployment descriptors.
    I think having it defined within the server console will make it simpler to manage the different performances in production versus qa, etc., than having it defined within the app and then adjusting it in each environment.

  • Scoping the toplink cache to application

    Hi all, per Active Cache guide, the cache configuration can be scoped at the application level. This is what I am trying to do.
    I have created shared libraries for coherence.jar, active-cahe jar and toplinkgrid jar and am including them in my application's weblogic-application.xml as library reference. The idea is that the cluster will be scoped within my application class loader.
    Now, the next part is also to scope the cache configuration in my application. I have also created a JAR file which contains the cache configuration xml file and have created a shared library and included it as above.
    However, with this, the log out put is as below
    <Sep 16, 2010 11:11:22 AM CST> <Notice> <Stdout> <BEA-000000> <2010-09-16 11:11:22.391/691.970 Oracle Coherence GE 3.5.3/465p2 <Info> (thread=[STANDBY] ExecuteT
    hread: '3' for queue: 'weblogic.kernel.Default (self-tuning)', member=n/a): Loaded cache configuration from "zip:D:/Oracle/Middleware11.1.1.3/coherence_3.5/lib/
    coherence.jar!/reports/report-group.xml">
    I have also tried placing the configuration JAR file in the application EAR file lib directory. I still get the above log statement.
    So, the question is, how do I make coherence pick up my application scoped configuration. I read the Active Cache documentation, but I am not clear about this part.
    Thanks.

    You can use the system propety -Dtangosol.coherence.cacheconfig
    to tell coherence which cache configuration you want to use, for example
    -Dtangosol.coherence.cacheconfig=<location>/hibernate-cache-config.xml

  • In spite of Assembly Deployment being GlobalAssembly Cache solution contains resources scoped for web application

    As per below snapshot of my SharePoint solution properties, my Assembly Deployment is GlobalAssembly Cache.
    My solutions contains two features
    1. Timer Job Feature - Scoped at Web Application Level
    2. List Item Event Receiver - Scoped at Site Level
    While deploying the solution I am asked to give Web Application Url and as per below snapshot it also contains Web Application Scoped resource. 
    What I am not able to figure out is why it shows in 'Contains Web Application Resource' as 'Yes' in spite of my
    Assembly Deployment being GlobalAssembly Cache?
    Secondly, when i deploy my solution, I find my webapplication level feature missing in UI. However the feature is installed and i find it to be visible when i check through powershell script.

    Hi Benjamin,
    If you're getting a Null Value error anywhere, that means a variable you're referencing isn't set to anything. If you're getting that try echoing out each variable after it's assigned to see if it's set to anything.
    The link you are referring is for SharePoint 2010 and verified on Windows Server 2008 R2 and 2008, but not Windows Server 2012.
    The approach in this case includes the following per the blog:
    Check to see if a web application with the current specified URL is already in use – exit if it is
    Check to see if an application pool with the name already exists. If so use it, otherwise create one
    Create a web application based on the parameters specified
    Assign the object cache properties to the new web application
    Create policies for the object cache users to the web application
    To simplified the code, we could use powershell below to check if web application and application pool have been already in use ahead. And skip the last two steps in the first time.
    Get-SPWebApplication | fl displayname, applicationpool
    Please refer to New-SPWebApplication
    which is used to create a new web application within the local farm:
    http://technet.microsoft.com/en-us/library/ff607931(v=office.15).aspx. Only two parameters i.e. ApplicationPool and Name are required, we could try a simple command at first:
    Please run Get-SPManagedAccount to check the managed account, then execute the command below:
    $ap = New-SPAuthenticationProvider
    New-SPWebApplication -Name "Contoso Internet Site" -Port 2014 -ApplicationPool "ContosoAppPool" -ApplicationPoolAccount (Get-SPManagedAccount "Domain\Administrator")
     -AuthenticationProvider $ap -SecureSocketsLayer
    Regards,
    Rebecca Tu
    TechNet Community Support

  • Getting WorkManager scheduleWork() to throw WorkRejected  ?

    I'm writing a socket server to service persistent inbound TCP sockets. I would like scheduleWork() to throw an exception if no threads are available to service the work object parameter.
              There is an application scoped work manager with a max-threads constraint . I call scheduleWork() to queue a socket handling work object in the work manager. If all of the threads are in use in the work manager , the work requests are still accepted.
              However, if no threads are available at the time the work object is queued I would like the work manager to immediately throw a WORK_REJECTED exception from scheduleWork() . Currently, the queued work objects are dormant until a thread is made available in the work manager.
              I have tried using the capacity constraint w/o success. I have read what appears to be conflicting descriptions of capacity : One is that it should be equal to maxThreads + max queued threads, the other is that it should equal max queued threads. In my case, max queued is equal to 0.
              I have also tried using the WorkManager.IMMEDIATE timeout value, but that really depends upon system load. i.e. I may not be out of threads as much as being a little slow in moving the worker to the WORK_STARTED state.
              Does anybody know how I can get a work manager to throw an exception when there are no threads available right now ?
              Thanks,
              John

    This seems to be callout issue.
    can you try with default callout Exmaple first:
    http://docs.oracle.com/cd/E23943_01/user.1111/e10229/callouts.htm#CHDEFBDG

  • Weblogic 10.3 : Work manager is not getting assigned to a application

    Hi,
    i have assigned a work manager to an application in weblogic-application.xml and able to see that under Deployments
    -> Application name -> Configuration -> Workload tab of weblogic console.
    But while starting server get a warning as
    <Dec 17, 2008 9:45:16 AM IST> <Warning> <WorkManager> <BEA-002919> <Unable to find a WorkManager with name RealWorkManager. Dispatch policy RealWorkManager will map to the default WorkManager for the application SmpMain>
    Can some one help me out how to assign a work manager to a application.
    Thanks,
    Smita

    Thanks for your help.
    When i created a work manager from Deployments -> Configuration -> Workload -> New and the new Work Manager appears in the Application-Scoped Work Managers table. But was not able to see that in Monitering -> Workload Work managers table. Why is that so?
    Regards,
    Smita

  • ConcurrentModificationException while running the deployed application

    Hi,
    I am using JDeveloper 11.1.2.0.0 and WebLogic Server Version: 10.3.5.0 with production environment.
    My application is based on Customized Dynamic Tab Shell where each task flow is loaded with its own transaction and also it is defined not to share data control.
    I use a Collection Object inside TabContext class, which will be accessed and consumed (including modifications) by all dynamic tab loaded taskflow.
    I use Customized FactoryClass for every BC4JDataControl to track the request and also to pass parameter to model layer AMs
    When i run the application in local, i didn't get any error. But when i check the deployed application, I am getting ConcurrentModificationException frequently as javascript dialog
    java.util.ConcurrentModificationException
    ADF_FACES-60097: For more information, please see the server's error log for
    an entry beginning with: ADF_FACES-60096:Server Exception during PPR, #181When i check the server error log, it didn't say anything about my classes.
    [2011-10-04T01:35:33.608-07:00] [MDA1-Server01] [ERROR] [] [oracle.adfinternal.view.faces.config.rich.RegistrationConfigurator] [tid: [ACTIVE].ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: <anonymous>] [ecid: 11d1def534ea1be0:-38985633:132c98ea02d:-8000-000000000000b88b,0] [APP: CalwinApplication] ADF_FACES-60096:Server Exception during PPR, #55[[
    java.util.ConcurrentModificationException
         at java.util.AbstractList$Itr.checkForComodification(AbstractList.java:372)
         at java.util.AbstractList$Itr.next(AbstractList.java:343)
         at org.apache.myfaces.trinidad.render.CoreRenderer.encodeAllChildren(CoreRenderer.java:619)
         at oracle.adf.view.rich.render.RichRenderer.encodeAllChildrenInContext(RichRenderer.java:3062)
         at oracle.adfinternal.view.faces.renderkit.rich.PageTemplateRenderer.encodeAll(PageTemplateRenderer.java:69)
         at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1452)
         at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:493)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:913)
         at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1661)
         at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:607)
         at oracle.adf.view.rich.render.RichRenderer.encodeChild(RichRenderer.java:3201)
         at org.apache.myfaces.trinidad.render.CoreRenderer.encodeAllChildren(CoreRenderer.java:623)
         at oracle.adf.view.rich.render.RichRenderer.encodeAllChildrenInContext(RichRenderer.java:3062)
         at oracle.adfinternal.view.faces.renderkit.rich.RegionRenderer._encodeChildren(RegionRenderer.java:310)
         at oracle.adfinternal.view.faces.renderkit.rich.RegionRenderer.encodeAll(RegionRenderer.java:186)
         at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1452)
         at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:493)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:913)
         at oracle.adf.view.rich.component.fragment.UIXRegion.encodeEnd(UIXRegion.java:323)
         at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1661)
         at org.apache.myfaces.trinidad.component.UIXGroup.encodeChildren(UIXGroup.java:170)
                    .....On checking further about this error code in Oracle® Fusion Middleware Error Messages Reference 11g Release 2 (11.1.2.0.0), it is given as
      ADF_FACES-60097: For more information, please see the server's error log for an
    entry beginning with: {0}
    Cause: An exception was thrown durring a PPR request.
    Action: Please look in the servers error log for more details on this error.
    Level: 1
    Type: ERROR
    Impact: LoggingI couldn't get any hint on what may be the issue. Can anyone help on this?
    Thanks in Advance.
    Perumal S

    I've seen this happen before if component objects are stored in managed beans (e.g. using binding="#{someBean.foo}").
    Problems like this can happen if the component is stored directly on the bean as a member variable (most commonly if the bean is application-scoped, session-scoped, or pageFlow-scoped but smaller scopes can exhibit the problem too).
    Usually just referencing the components from the accessors on JSF event objects during an event handlers or using one of the various component searching APIs (e.g. findComponent) can suffice in locating the components dynamically.
    However, if using one of those mechanisms isn't feasible you must use the ComponentReference as the storage mechanism (and follow the caveats noted in its JavaDoc):
    http://www.jarvana.com/jarvana/view/org/apache/myfaces/trinidad/trinidad-api/2.0.0-beta-1/trinidad-api-2.0.0-beta-1-javadoc.jar!/org/apache/myfaces/trinidad/util/ComponentReference.html
    Hope this helps,
    Matt

  • What are the pros and cons of storing heavely used CFCs in the application scope?

    I've been storing all the required CFCs for a site in the application scope. During onApplicationStart I do something like this application.objSomeCfc =CreateObject('component', 'com.someCfc').init().
    Here is my reasoning.
    Get the CFCs initialized once and stored in memory for better performance.
    Using CreateObject several times on each page load can have a negative impact on performance.
    Having one place to create application scoped CFCs makes it easier to manage code.
    So is my thinking flawed? Are there any additional pros or cons for dealing with CFCs? Is there any docs, articles, blogs, videos, frameworks, ...... that I should check that may change my perspective on how I'm doing this?
    Thanks

    Your approach is fine, depending on how many and what type of CFCs you are talking about. If they are "singletons" - that is, only one instance of each CFC is needed to be in memory and can be reused/shared from multiple parts of your application - caching them in the application scope is common.  Just make sure they are thread safe ("var" or local.* all your method variables).
    You might consider taking advantage of a dependency injection framework, such as DI/1 (part of the FW/1 MVC framework), ColdSpring, or WireBox (a module of the ColdBox platform that can be used independently).  They have mechanisms for handling and caching singletons.  Then you wouldn't have to go to the application scope to get your CFC instances.
    -Carl V.

  • SPWebConfigModifications Duplicate entries, applying to all Web Applications and not removing entries

    Hi,
    Hopefully someone can offer some advice, I may be missing something obvious here.
    I'm currently trying to write a feature event receiver to apply web.config modifications that are required by a recent project. 
    The feature is web application scoped & it doesn't activate by default on deployment, currently testing with a very small addition isn't working at all, I've followed numerous posts about duplicate entries & items being removed, none of which have
    helped.
    Here is my code;
    public override void FeatureActivated(SPFeatureReceiverProperties properties)
                SPWebApplication webApp = properties.Feature.Parent as SPWebApplication;
                    SPWebConfigModification Modification = new SPWebConfigModification();
                    Modification.Owner = "ConfigUpdater";
                    Modification.Path = "configuration/appSettings";
                    Modification.Name = "add[@key='Test']";
                    Modification.Sequence = 0;
                    Modification.Value = "<add key='Test' value='Server=TestServer;Database=TestDB;Trusted_Connection=True;' />";
                    Modification.Type = SPWebConfigModification.SPWebConfigModificationType.EnsureChildNode;
                    if (!webApp.WebConfigModifications.Contains(Modification))
                        webApp.WebConfigModifications.Add(Modification);
                        webApp.Update();
                        webApp.WebService.ApplyWebConfigModifications();
            // Uncomment the method below to handle the event raised before a feature is deactivated.
            public override void FeatureDeactivating(SPFeatureReceiverProperties properties)
                SPWebApplication webApp = properties.Feature.Parent as SPWebApplication;
                Collection<SPWebConfigModification> modsCollection = webApp.WebConfigModifications;
                int count = modsCollection.Count;
                for (int i = count - 1; i >= 0; i--)
                    SPWebConfigModification mod = modsCollection[i];
                    if (mod.Owner == "ConfigUpdater")
                        modsCollection.Remove(mod);                   
                webApp.Update();
                webApp.WebService.ApplyWebConfigModifications();          
    Upon activation on 1 web app, the entry gets added twice to the web.config of every web application in the farm & upon deactivation the entries remain in the web.config files.
    On activation, after this line, webApp.WebConfigModifications.Add(Modification); the webApp is updated to include the entry & only once, however 2 entries for it appear in the web.config files & as mentioned for every web application.
    On deactivation, after updating the web app, the modification is removed, however it remains in the web.config files.
    I'm wondering if the code actually works, as I can't see anything wrong & if there is some caching occurring somewhere which is applying the extra line/s upon calling ApplyWebConfigModifications.
    Any help on this would be much appreciated.
    Thanks,
    James

    Hi James,
    Per my understanding, there is an entry gets added twice to the web.config file of every web application in the FeatureActivated event.
    As a common practice, I suggest you debug your code to see how it works during the process, it will provide more information for a better troubleshooting.
    Also, you can test the code in a Console Application to see if it will work as expected.
    Thanks         
    Patrick Liang
    TechNet Community Support
    Please remember to mark the replies as answers if they help, and unmark the answers if they provide no help. If you have feedback for TechNet Support, contact
    [email protected]

Maybe you are looking for

  • Report for purchase orders - like ME80FN

    Hello, is there a way to get a report of purchase orders which have been released for stock and for customer orders. I tried ME80FN, but there is no column available such like account-assignment-category where I could separate the orders for stock fr

  • Acrobat v6.0.2 crashed & now will not open

    I am running (or, was running) Acrobat v6.0.2 Professional on a new Apple Mac Pro (Intel) running OSX 10.6.7.  WIthout warning Acrobat crashed and when I attempt to re-open it I get the error message "Acrobat quit unexpectedly".  I re-installed Acrob

  • 60 minutes not available

    I have Office 365. My free 60 minutes should be available every 17th. But they are not. How come? Solved! Go to Solution.

  • Client connect via java.rmi

    I am trying to fidnd the simplest method for connecting to Weblogic RMI registry to get a reference to a server program which implements a component interface with PeopleSoft. Can normal java.rmi be used to get that reference, if so how can I find ou

  • Why do i receive messages that my fire fox is old, but i instaled new version 16.0.1.

    I installed firefox version 16.0.1 and i still get messages that my firefox is an old version so i need to update it. but vhen i download new version it is still the same, 16.0.1 this happens when i come to firefox web site or facebook or gmail, allw