I have used EJB and have started it on JBOSS Server. I want to test this app so I will use a client to access this. But, I don't know how to set JNDI name for this server.
Please help me.
Unless until different hostname or ipaddress is specified using -b option while starting server. EJB or JBoss JNDI objects can be accessed over localhost on same machine.
Please refer following links which might help you
https://community.jboss.org/wiki/AccessEJBsRemotely
https://community.jboss.org/wiki/NamingContextFactory
Related
I'm using jboss 7.2,and I created a log4j2.xml and placed in the server, application running in the domain mode there are two server instance in each ip, application logs are printing only for one server instance and another server instance logs are not printing,how to print the both server instance logs are in separate files.
Is anyone having idea pls help on this.
Sorry....you cannot use log4j2 in JBoss7.2.
Only WildFly 22 supports Log4j2 out of the box.
However, you may implement Log4j2 to other versions of WildFly, according to this tutorial. However I did not try myself.
I've got a tomcat server instance running inside of eclipse. By default it uses a hostname similar to http://localhost:8080/MyApp/ is there some way to proxy this so I can use a domain name like http://example.com/ instead?
On the production server I use apache to proxy the request to point to the tomcat instance, but within eclipse I don't have that luxury.
I'm using Ubuntu. I thought maybe I could map the domain to point to the localhost version in /etc/hosts but that seems to only be the first step. From there I can't figure out how to point the domain to the tomcat url.
Add this to your hosts file, to access via domain name : localhost example.com
Now, You have couple of options :
Host file doesn't know about ports. You have to access your app like http://example.com:8080/MyApp
You can change your tomcat port 8080 to 80 so that you dont have to access it via port like this http://example.com/MyApp
To access your web application via http://example.com, you have to deploy your application in tomcat root. For that refer Deploying my application at the root in Tomcat
I have a swing client which connects to my ejb2 application deployed in JBoss 5.1. There is a particular requirement from Customer to make it available on internet.
The deployment architecture is as follows,
swing_client --> extranet_ip |firewall | --> iis7_machine --> jboss5.1_machine.
jndi properties in client is as follows
Context.PROVIDER_URL=http://extranet_ip:9180/invoker/JNDIFactory
Context.INITIAL_CONTEXT_FACTORY=org.jboss.naming.HttpNamingContextFactory
This configuration works fine when the client is inside intranet. But it does not work in internet (extranet).
When I tried initially I got the error 'Connection refused'
After seeing some posts in various forums, I changed the file server\deploy\http-invoker.sar\META-INF\jboss-service.xml, to reflect the extranet_ip in invokerURL.
Aftet this I am getting the following error.
org.jboss.remoting.CannotConnectException: Can not get connection to server. Problem establishing socket connection for InvokerLocator [socket://10.200.1.193:4546/?dataType=invocation&enableTcpNoDelay=true&marshaller=org.jboss.invocation.unified.marshall.InvocationMarshaller&unmarshaller=org.jboss.invocation.unified.marshall.InvocationUnMarshaller]
Where 10.200.1.193 is the intranet IP address of JBoss Server machine.
I tried changing the trasport parameter in remoting-jboss-beans.xml to http, but at that time client is not working in both intranet and extranet.
Please anybody suggest a way forward for this issue. Or is there any other way to implement RMI over Http in JBoss?
Update: As a solution, I had to change my deployment architecture as follows.
swing_client --> extranet_ip |firewall | --> jboss5.1_machine
where the JBoss Application Server will be directly exposed through firewall. Then update clientConnectAddress in the remoting-jboss-beans.xml to the extranet IP. Also open the ports 8080 & 4446 in the firewall for this address.
This way the swing client is working if I use the jnid properties as follows.
Context.PROVIDER_URL : http://extranet_ip:8080/invoker/JNDIFactory
Context.INITIAL_CONTEXT_FACTORY : org.jboss.naming.HttpNamingContextFactory
But still looking for a solution where there is no need to open any non-standard ports and no need to expose the Application Server directly.
After a long struggle I found a solution for my issue. The solution was to change EJB container's invoker type to http in standardjboss.xml. When the invoker is http, it will use the settings in http-invoker.sar for remote binding.
My JBoss server is running in my system and trying to access it from other system using ip address of my system, but its not accessible and even from my own system i am not able to access using ip.
How can i make jboss enable using ip address.
Thanks
We can run JBoss as ./run.sh -b 127.0.0.1 or run.bat -b 127.0.0.1
This will make JBoss accessible using ip.
If the JBoss is running on your machine you can access it using this URL
http://localhost:<portnumber>
If you have started the JBoss using the command
run.bat>
then you can access the JBoss through above URL only.
If you use this command to start the JBoss :
run –b 0.0.0.0.>
then you can access the JBoss using this URL also
http://<ipaddress>:<portnumber>
In addition to this, if in place of IP address if you want to use some domain name then add that domain name
<IP address> <domain name>
into the host file at this path:
C:\WINDOWS\system32\drivers\etc>
then you can access your jboss through this url
http://<domain name>:<portnumber>
For more details you can check this blog http://tarunjain-jaintarun.blogspot.com/2012/08/acessing-jboss-using-ipaddress.html
Where do you change the hostname(servername) for your application server. For example, if there is an application server JBoss which is running on local machine, port 8080 and is accessed using "http://localhost:8080/index.jsp, and if I want to change lets say to "http://www.myserver.com/index.jsp, how do i do this?
This is called "virtual hosting". You can find the instructions for doing this with JBoss 5.1 here.