How to deploy .war in node of own choice in Wildfly cluster? - wildfly

I have deployed a .war and WF choose itself one of 3 node and deploys in same. (01,02,03)
I want to .war to shift from say 03 to 02 manually. (not redeploy again and again and see when it will choose).
As of now following file is there in jboss deployment:
<?xml version="1.0" encoding="UTF-8"?>
<singleton-deployment xmlns="urn:jboss:singleton-deployment:1.0"/>
How is it possible in Wildfly? (Wildfly 16)

Why do you care which node? If you only want to deploy to a single node, only place in the deployments directory of that node

Related

How to create a priority service thread pool in jboss

I have deployed 2 war files in jboss 6.4 (SupposeA.war and B.war) ,I want A.war to be deployed first then B deployment should start.
Is there any way to do it.
This is required as my B.war is dependent on A.war.
You can create a jboss-all.xml deployment file (located under B.war/WEB-INF/jboss-all.xml) and it should be something like:
<jboss umlns="urn:jboss:1.0">
<jboss-deployment-dependencies xmlns="urn:jboss:deployment-dependencies:1.0">
<dependency name="a.war" />
</jboss-deployment-dependencies>
</jboss>
Now B will start after A has been deployed. The same file works for any top level deployment, as an ear.

Set deployment order in Wildfly 10

I have 1 ear and some sar to deploy, I need to deploy sar1 before sar2, I tried to include jboss-all.xml inside Meta-INF in my sar2, but without results.
<?xml version="1.0" encoding="UTF-8"?>
<jboss xmlns="urn:jboss:1.0">
<jboss-deployment-dependencies xmlns="urn:jboss:deployment-dependencies:1.0">
<dependency name="sar1.sar" />
</jboss-deployment-dependencies>
</jboss>
How can I set the deployment order?
Thanks in advance
I have not tried it but the RedHat EAP docs indicate that there are several possibilities listed here: https://access.redhat.com/solutions/18317
From the article:
Filename based ordering
Default order of deployment
deployer
-deployer.xml
sar
-service.xml
rar
-ds.xml
har
jar
war
wsr
ear
zip
bsh
last
The DeploymentSorter can be changed by changing the configuration in $JBOSS_HOME/server/$PROFILE/conf/jboss-service.xml
Assuming it works for WildFly also, you might just try renaming them to get the depoyment sorter to pick them up for filename based ordering?

JBoss eap 6.4 cli name deployment

I am attempting to deploy a war file in Jboss eap 6.4 and I want to use the --name argument with the deploy. However, when I do so the war gets deployed but is inaccessible via the name..
The war file is named testweb.war. It works perfectly fine when I deploy it without the --name argument during the deploy command, but I am creating a deploy script where customers need to be able to name the application as well...
Here is the web.xml in my war file:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE jboss-web PUBLIC "-//JBoss//DTD Web Application 2.3//EN"
"http://www.jboss.org/j2ee/dtd/jboss-web_3_0.dtd">
<jboss-web>
<context-root></context-root>
</jboss-web>
The command I'm using with the jboss-cli is:
deploy /path/to/war/testweb.war --name=testweb
And the web application is inaccessible via the url:
localhost:8085/testweb
This is the correct port number, and should be the correct application name..
Thank you in advance.
Well, I figured it out today in case anyone out there was also asking this very obscure question haha..
The issue is with the runtime-name of the deployed war. In Jboss the runtime name must end with the extension of the file being deployed.. So if you deploy example.war the runtime name must end with .war
When you specify a name without specifying the runtime name you get a problem, because by default jboss will use the application name as the runtime name.
So when I did: deploy /path/to/war/testweb.war --name=testweb
It was subsequently using testweb as the runtime name, and therefore wouldn't work properly.
/path/to/war/testweb.war --name=testweb --runtime-name=testweb.war is a way to fix this issue.

JBoss 7 as deploys automatically

I put my jboss on the linux server, exported the war file and placed it on the deployments folder and it automatically deployed. I didn't even had to do it via command line. How is this working?
My jboss has ssl to it.
From the Application Deployment documentation:
The standalone/deployments directory in the JBoss Application Server 7 distribution is the location end users can place their deployment content (e.g. war, ear, jar, sar files) to have it automically deployed into the server runtime.
So, if you put a war file in standalone/deployments, JBoss will detect it and act as if you had manually deployed it. The documentation page has a lot more info about configuration if you want to change the defaults.

How to deploy EAR into web configuration in JBoss?

We use "web" configuration of JBoss.
Now we deploy war files only.
But we are going to deploy ear to JBoss.
As far as I can see it is impossible to deploy ear on web configuration because there is no ear deployer in web configuration.
Will it be enough just to copy file default\deployers\ear-deployer-jboss-beans.xml to web\deployers directory?
Or some additional files should be copied too?
Instead of starting with the web configuration I will suggest to use the "default" configuration and trim it. For example, remove JMS.