cancel
Showing results for 
Search instead for 
Did you mean: 

Alfresco WCM Remote AVM Deployment

wilsonb
Champ on-the-rise
Champ on-the-rise
I’m a bit of a newbie to Alfresco (sorry if I have posted this in the wrong place) and I’m trying to assess if it can do what I need it to. The question below may well be a dumb one so please be patient and give it a look. At the moment I have a Dev (Windows), Staging (Linux) and Live (Linux) servers, I’m running 3.4.d Community out of the box with the standard MySQL/Tomcat setup. The issue I’m having is remote deployment of a Web Project. I have setup an avm deployment of a Web Project call it “InitialProject” and a version on the same box “InitialProject-live” and when I deploy to localhost via 50500 to a Target Name of “avm” it works a treat. However this is not how the real system will work. I’m trying to get the Windows machine to connect to the staging Linux box but when I try and to deploy the web project on the remote box I get the exception below.

I have checked if the port is open from the windows box and it appears to be (I telnet on 50500) and it opens. This seems to indicate there is no firewall between me and it. I have done a “netstat -an | grep 50500” on the Linux box and I get back a listen on that port so I assume the connectivity is correct. My RMI in the global properties file is as follows

### RMI service ports ###
alfresco.rmi.services.port=50500
avm.rmi.service.port=50500
avmsync.rmi.service.port=0
attribute.rmi.service.port=0
authentication.rmi.service.port=0
repo.rmi.service.port=0
action.rmi.service.port=0
deployment.rmi.service.port=0

I have setup the deployment on the windows box to be:

Transport Name:   default
Host:   bank.test.co.uk
Port:   50500
Type:   Live Server
Username:   admin
Target Name:   avm
Include In Auto Deploy:   No

Do I have to setup the Web Project on the other end in a special manner or run/configure something I have not mentioned above. Can someone please indicate why I am getting the exception below as I have looked through all the forums and also looked at the books and I think I have set everything up as expected.


org.alfresco.service.cmr.avm.AVMException: 03070050 Deployment exception, unable to deploy : srcPath:zurg:/www/avm_webapps, target:avm, version:3, adapterName:default, hostName:bank.test.co.uk, port:50,500, error:org.alfresco.service.cmr.avm.AVMException: 03070049 Could not connect to remote deployment receiver, transportName:default, hostName:bank.test.co.uk, port: 50500
   at org.alfresco.repo.deploy.DeploymentServiceImpl.deployDifferenceFS(DeploymentServiceImpl.java:1275)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:597)
   at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
   at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
   at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
   at org.alfresco.repo.transaction.CheckTransactionAdvice.invoke(CheckTransactionAdvice.java:47)
   at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
   at org.alfresco.repo.transaction.RetryingTransactionAdvice$1.execute(RetryingTransactionAdvice.java:64)
   at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:381)
   at org.alfresco.repo.transaction.RetryingTransactionAdvice.invoke(RetryingTransactionAdvice.java:67)
   at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
   at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
   at $Proxy91.deployDifferenceFS(Unknown Source)
   at org.alfresco.repo.avm.actions.AVMDeployWebsiteAction.executeImpl(AVMDeployWebsiteAction.java:403)
   at org.alfresco.repo.action.executer.ActionExecuterAbstractBase.execute(ActionExecuterAbstractBase.java:171)
   at org.alfresco.repo.action.ActionServiceImpl.directActionExecution(ActionServiceImpl.java:749)
   at org.alfresco.repo.action.ActionServiceImpl.executeActionImpl(ActionServiceImpl.java:675)
   at org.alfresco.repo.action.AsynchronousActionExecutionQueueImpl$ActionExecutionWrapper$1$1.execute(AsynchronousActionExecutionQueueImpl.java:443)
   at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:381)
   at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:253)
   at org.alfresco.repo.action.AsynchronousActionExecutionQueueImpl$ActionExecutionWrapper$1.doWork(AsynchronousActionExecutionQueueImpl.java:452)
   at org.alfresco.repo.security.authentication.AuthenticationUtil.runAs(AuthenticationUtil.java:508)
   at org.alfresco.repo.action.AsynchronousActionExecutionQueueImpl$ActionExecutionWrapper.run(AsynchronousActionExecutionQueueImpl.java:455)
   at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
   at java.lang.Thread.run(Thread.java:662)
Caused by: org.alfresco.service.cmr.avm.AVMException: 03070049 Could not connect to remote deployment receiver, transportName:default, hostName:bank.orange.co.uk, port: 50500
   at org.alfresco.repo.deploy.DeploymentServiceImpl.getDeploymentReceiverService(DeploymentServiceImpl.java:940)
   at org.alfresco.repo.deploy.DeploymentServiceImpl.deployDifferenceFS(DeploymentServiceImpl.java:1130)
   … 28 more
Caused by: org.springframework.remoting.RemoteLookupFailureException: Lookup of RMI stub failed; nested exception is java.rmi.NoSuchObjectException: no such object in table
   at org.springframework.remoting.rmi.RmiClientInterceptor.lookupStub(RmiClientInterceptor.java:215)
   at org.springframework.remoting.rmi.RmiClientInterceptor.prepare(RmiClientInterceptor.java:147)
   at org.springframework.remoting.rmi.RmiClientInterceptor.afterPropertiesSet(RmiClientInterceptor.java:135)
   at org.springframework.remoting.rmi.RmiProxyFactoryBean.afterPropertiesSet(RmiProxyFactoryBean.java:68)
   at org.alfresco.repo.deploy.DeploymentReceiverTransportAdapterRMI.getTransport(DeploymentReceiverTransportAdapterRMI.java:41)
   at org.alfresco.repo.deploy.DeploymentServiceImpl.getDeploymentReceiverService(DeploymentServiceImpl.java:931)
   … 29 more
Caused by: java.rmi.NoSuchObjectException: no such object in table
   at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:255)
   at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:233)
   at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:359)
   at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source)
   at java.rmi.Naming.lookup(Naming.java:84)
   at org.springframework.remoting.rmi.RmiClientInterceptor.lookupStub(RmiClientInterceptor.java:200)
   … 34 more
5 REPLIES 5

mrogers
Star Contributor
Star Contributor
There seems to be a mismatch in your configuration.

In particular what is "bank.orange.co.uk"?

Also make sure that your destination has WCM boostrapped.

wilsonb
Champ on-the-rise
Champ on-the-rise
Apologies… I was attempting to mask my server name but obviously did a very poor job  Smiley Surprisedops: … these are an example name only.

If by being bootstrapped you mean that the wcm-bootstrap-context.xml file is in the extension directory then I think it is:
/opt/alfresco-3.4.0/tomcat/shared/classes/alfresco/extension/wcm-bootstrap-context.xml
otherwise I'm not sure what you mean?

zaizi
Champ in-the-making
Champ in-the-making
1. Make sure there are no firewalls between the two servers.

2. Make sure the hostname is configured correctly on the servers. Confirm the RMI service is bound to the correct network interface.

Ainga

wilsonb
Champ on-the-rise
Champ on-the-rise
I have done a telnet and a "netstat -an | grep 50500", the telnet connects and the netstat gives me:

tcp        0      0 :::50500                    :::*                        LISTEN

Not too sure if this helps but I thought that would show there is no firewall and the port is open with something listening?

wilsonb
Champ on-the-rise
Champ on-the-rise
I have now sorted the problem with a simple config change. Sorry to waste peoples time but as I was new to it I did not know you have to put the host/IP address of the box that is receiving the content with its own value for the “alfresco.rmi.services.host” property.
i.e.
Box A = Deployer = a.b.c.d
Box B = Reciever  =  e.f.g.h
So on Box B edit the “alfresco-global.properties” file and add the following
alfresco.rmi.services.host= e.f.g.h

This appeared to sort it out.

Can I just ask the community why this property is not in the alfresco-global.properties file out of the box but it is in alfresco-shared.properties, I’m sure there is a good reason but its just puzzled me.

Out of the box it is by default set to localhost in the alfresco-shared.properties. All the documents I have read have not mentioned editing it…however I know I’m opening myself up to a  multitude of responses that show me a page with it all in :wink:

Like I say sorry to waste anyone’s time with this.