How to run a background task in a j2ee application in JBoss? - multithreading

I am using ServletContextListener to start the back end process. The problem with this approach is I can't control the web app as it is a listener. Other web apps can be controlled by enabling, disabling the application.
I am deploying the application through the JBOSS management console (localhost:9990) but application never get deployed. But the application is running.

Related

How to diagnose AspNetCore application not starting on Azure App Service?

We have multiple AspNetCore applications hosted on an Azure Web App as OutOfProcess and deployed as virtual applications with separate paths.
We have the same setup in different environments, all infrastructure and applications are deployed automatically through our pipeline but it's only breaking in one environment and we can't find out why.
We have tried turning on stdoutLogEnabled to true. This reveals an invalid runtime.config.json error, I have read this can be caused by multiple issues but we can't identify any reason for it. We also intermittently see a 502.5 ANCM startup failure when navigating to the swagger URL for each application.
If we look in the application event logs in the Azure portal we are seeing this error failed to start process with command line 'dotnet .\<DLL>' with multiple retries. Failed to bind to port <PortNumber>
We can start the applications locally with Kudu by navigating to the location of the DLL and running dotnet <DLL>. The application starts successfully so it seems to be a problem on the web app. We've tried restarting and stopping and starting the web app, even tried scaling the app service to attempt getting a clean start but nothing has succeeded.
I'm not sure what other steps we can take to diagnose this issue or what we might have done wrong as the same applications are working fine in other environments.

HTTP Error 500.30 when deploying backend service to Azure web app service

I have an ASP.NET Core backend service (no UI). I also have a UI website.
The website deploys and runs correctly on app service.
The backend service deploys but does not run, also on a app service.
I get greeted with an error: HTTP Error 500.30 - ANCM In-Process Start Failure.
The files are definitely there, although they are all under wwwroot. Is that correct even if it's just a backend service?
Just to understand the issue correctly, when you say, "The backend service deploys but does not run, also on a app service", does that mean it does not work both locally and also on App Service? If it doesn't work locally, it may not work on App Service. So, to isolate the issue ensure it works fine locally.
Typically, the error "500.30 In-Process Startup Failure", you may occur The worker process fails. The app doesn't start.The ASP.NET Core Module attempts to start the .NET Core CLR in-process, but it fails to start. The cause of a process startup failure can usually be determined from entries in the Application Event Log and the ASP.NET Core Module stdout log.
Also, ensure that App bitness (32 vs 64 bit) is correctly configured.
I have seen issues a common failure condition is when the app is misconfigured due to targeting a version of the ASP.NET Core shared framework that isn't present. Check which versions of the ASP.NET Core shared framework are installed on the target machine.

Azure architecture for web to long background service app fabric application

I've been doing some research on how to try to organize an Azure system and would like some feedback on improvements.
I have a web interface that clients will be using. Think of this as a dashboard. This dashboard needs to kick off long running Selenium C# console jobs that run inside a Service Fabric console application.
What is the best way to implement this architecture without having an application constantly run listening for Service Bus message queue messages? I'm thinking during development this could really eat up $.
Initial design thoughts were:
Web app for dashboard - customer facing
The above web application needs to kick off a Service Fabric console application that runs Selenium ChromeDriver.
I was going to achieve this by implementing Service Bus on the web request, and then a listener console application inside Service Fabric that will spin up the Selenium ChromeDriver console application.
Is there a better way to do this aside from having a constant listening polling handler application always running?
I'm not sure how to trigger the Service Bus console application without having the Service Bus listener.
Unless you are talking about Azure Service Fabric Mesh, which is currently in public preview, hosting any process as a Service Fabric application requires a Service Fabric Cluster, meaning you have a Virtual Machine Scale Set running 24x7. Given this fact, I don't understand this part:
What is the best way to implement this architecture without having an application constantly run listening for service bus message queue messages? I'm thinking during development this could really eat up $.
You are already paying for the cluster anyway.
You might be better of skipping Service Fabric and spin up a container doing the work using Azure Container Instances and bring it down once the long running job has completed.

WebSphere Application Server, IIS Web Server - Propogation of web server plugin to WebServer nodes when application is redeployed

My question is if 'propogation' of web plugin's xml file to Web Server nodes is necessary when an application is re-deployed in Websphere.
We have webservers infront of our application servers. During environment setup, our Web Admin manually generated web server plugin xml(from WAS console) and copied to web server nodes to establish communication between IIS and WebSphere. But it was a one-time job and we do not care about replacing it on web servers anymore when we redeploy the application for our releases.(And there is no way that plugin xml is automatically copied over as our web server configuration does not reflect actual web server nodes!)
It would be great to hear about standard practice, and how rest of you are doing it.
Any inputs are greatly appreciated!

IIS Restart on Updating a Web Application

I have deployed multiple Web Applications in IIS, When I am deploying a modified Dll for any of this Web Application, I need to restart the IIS to get the effect of the new dll. This impacts other Applications. All of these Applications get restarted as I have restarted IIS. Is there any way by which I can restart the specific Application, for which the modified Dll has been deployed?
Yes. Create a different "Application Pool" for your app (in IIS). Make sure your app is assigned to the new pool.
When your app is deployed, the app pool is automatically restarted (affecting all of the other apps in that pool). By default, everything gets deployed to the default app pool.

Resources