Bug 778027 (SOA-550)

Summary: Document the steps needed to convert production environment for development
Product: [JBoss] JBoss Enterprise SOA Platform 4 Reporter: Len DiMaggio <ldimaggi>
Component: DocumentationAssignee: Joshua Wulf <jwulf>
Status: CLOSED NEXTRELEASE QA Contact:
Severity: high Docs Contact:
Priority: high    
Version: 4.2 CP01CC: lcarlon
Target Milestone: ---   
Target Release: 4.2 CP02   
Hardware: Unspecified   
OS: Unspecified   
URL: http://jira.jboss.org/jira/browse/SOA-550
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-07-01 17:15:36 UTC Type: Task
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On: 777754, 777787    
Bug Blocks:    
Attachments:
Description Flags
server.log.gz none

Description Len DiMaggio 2008-05-20 13:25:55 UTC
Date of First Response: 2008-05-20 10:12:09
project_key: SOA

Document the steps needed to convert production environment for development

Comment 1 Len DiMaggio 2008-05-20 13:27:02 UTC
Topics to cover:

logging
opening up jBPM /upload servlet
other topics?



Comment 2 Martin Vecera 2008-05-20 14:12:09 UTC
unsecuring - JMX invoker, web consoles, HTTP invoker...
making deployer scan period shorter


Comment 3 Joshua Wulf 2008-05-27 12:37:48 UTC
I understood this to mean configuring the default profile for use as a development environment.

Modify default profile for SOAP development:

1. Enable ESB
2. Change logging level (more or less verbose?)
3. Open up jBPM upload servlet to allow unsecured upload
4. Unsecure JMX invoker, web consoles, HTTP invoker
5. Make deployer scan period shorter




Comment 4 trev 2008-05-30 18:46:49 UTC
     Here is what has to change to make the production configuration development friendly:

Directory -> jboss-eap/jboss-as/server/production

    * -> conf -> jboss-log4j.xml

        * Uncomment the CONSOLE appender
        * Uncomment the CONSOLE reference in the root appender
        * Change limits to INFO from WARN 

    * -> conf -> jboss-service.xml

        * Change the attribute ScanPeriod from 60000 milliseconds to 5000 milliseconds 

    * -> deploy

        * Delete the following files from the deploy directory:

            * cluster-service.xml
            * deploy-hasingleton-service.xml
            * ejb3-clustered-sfsbcache-service.xml
            * httpha-invoker.sar
            * jboss-web-cluster.sar 

        * Add http-invoker.sar from default
        * Remove the deploy-hasingleton and farm directories from deploy 

I believe this should work for making the production configuration a workable development configuration with console logging, hot deploy that deploys quickly, and no clustering.


Comment 6 Len DiMaggio 2008-06-11 19:52:14 UTC
Do we also want to open up the jBPM upload servlet in this new development - like we did here:
       http://jira.jboss.com/jira/browse/SOA-270#action_12398077



Comment 7 Len DiMaggio 2008-06-12 01:18:25 UTC
The CP02 CR1 build Getting Started Guide includes this text:

--------------------------------
6. Delete the following files and directories from the development/deploy directory:
? cluster-service.xml
? deploy-hasingleton-service.xml
? ejb3-clustered-sfsbcache-service.xml
? httpha-invoker.sar
? jboss-web-cluster.sar
? deploy-hasingleton
? farm
--------------------------------

The last two lines should be moved (deploy-hasingleton, farm) - these files/dirs are not in server/development/deploy, but are in server/development

Comment 8 Len DiMaggio 2008-06-12 02:03:07 UTC
Also seeing this failure - need to retry...

javax.naming.CommunicationException: Could not obtain connection to any of these urls: 127.0.0.1:1100 and discovery failed with error: javax.naming.CommunicationException: Receive timed out [Root exception is java.net.SocketTimeoutException: Receive timed out] [Root exception is javax.naming.CommunicationException: Failed to connect to server 127.0.0.1:1100 [Root exception is javax.naming.ServiceUnavailableException: Failed to connect to server 127.0.0.1:1100 [Root exception is java.net.ConnectException: Connection refused]]]
        at org.jnp.interfaces.NamingContext.checkRef(NamingContext.java:1562)
        at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:634)
        at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:627)
        at javax.naming.InitialContext.lookup(InitialContext.java:351)
        at org.jboss.util.naming.Util.lookup(Util.java:215)
        at org.jboss.resource.adapter.jms.inflow.dlq.AbstractDLQHandler.setupDLQDestination(AbstractDLQHandler.java:106)
        at org.jboss.resource.adapter.jms.inflow.dlq.AbstractDLQHandler.setup(AbstractDLQHandler.java:82)
        at org.jboss.resource.adapter.jms.inflow.dlq.JBossMQDLQHandler.setup(JBossMQDLQHandler.java:48)
        at org.jboss.resource.adapter.jms.inflow.JmsActivation.setupDLQ(JmsActivation.java:369)
        at org.jboss.resource.adapter.jms.inflow.JmsActivation.setup(JmsActivation.java:315)
        at org.jboss.resource.adapter.jms.inflow.JmsActivation$SetupActivation.run(JmsActivation.java:601)
        at org.jboss.resource.work.WorkWrapper.execute(WorkWrapper.java:204)
        at org.jboss.util.threadpool.BasicTaskWrapper.run(BasicTaskWrapper.java:275)
        at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:756)
        at java.lang.Thread.run(Thread.java:595)
Caused by: javax.naming.CommunicationException: Failed to connect to server 127.0.0.1:1100 [Root exception is javax.naming.ServiceUnavailableException: Failed to connect to server 127.0.0.1:1100 [Root exception is java.net.ConnectException: Connection refused]]
        at org.jnp.interfaces.NamingContext.getServer(NamingContext.java:274)
        at org.jnp.interfaces.NamingContext.checkRef(NamingContext.java:1533)
        ... 14 more
Caused by: javax.naming.ServiceUnavailableException: Failed to connect to server 127.0.0.1:1100 [Root exception is java.net.ConnectException: Connection refused]
        at org.jnp.interfaces.NamingContext.getServer(NamingContext.java:248)
        ... 15 more
Caused by: java.net.ConnectException: Connection refused
        at java.net.PlainSocketImpl.socketConnect(Native Method)
        at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
        at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
        at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
        at java.net.Socket.connect(Socket.java:520)
        at java.net.Socket.connect(Socket.java:470)
        at java.net.Socket.<init>(Socket.java:367)
        at java.net.Socket.<init>(Socket.java:267)
        at org.jnp.interfaces.TimedSocketFactory.createSocket(TimedSocketFactory.java:84)
        at org.jnp.interfaces.TimedSocketFactory.createSocket(TimedSocketFactory.java:77)
        at org.jnp.interfaces.NamingContext.getServer(NamingContext.java:244)
        ... 15 more
22:02:06,112 INFO  [HbmBinder] Mapping subclass: org.jbpm.context.log.variableins

Comment 9 Len DiMaggio 2008-06-12 15:13:40 UTC
The problem listed above is also described here:
   http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4122910#4122910

The problem is that an MBean is trying to connect to HAJNDI (on port 1100) - but in the "development" config, we've removed it.

Any ideas which one/ones?


With the "production" config running - port 1100 (HAJNDI) is active:
 
[ldimaggi@ldimaggi bin]$ telnet localhost 1100
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
??srjava.rmi.MarshalledObject|???c?>IhashlocBytest[BobjBytesq~xp?ur[B???T?xp@??thttp://127.0.0.1:8083/q~q~q~q~q~q~q~uq~?s}org.jnp.interfaces.Naming,org.jboss.ha.framework.interfaces.HARMIProxyxrjava.lang.reflect.Proxy?'? ?C?Lht%Ljava/lang/reflect/InvocationHandler;xpsr-org.jboss.ha.framework.interfaces.HARMIClient???j???LfamilyClusterInfot5Lorg/jboss/ha/framework/interfaces/FamilyClusterInfo;LkeytLjava/lang/String;LloadBalancePolicyt5Lorg/jboss/ha/framework/interfaces/LoadBalancePolicy;xpwDefaultPartition/HAJNDIsrjava.util.ArrayListx????a?Isizexpwsr2org.jboss.ha.framework.server.HARMIServerImpl_Stubxrjava.rmi.server.RemoteStub?????exrjava.rmi.server.RemoteObject?a??
                                                                                                        a3xpw4
                                                                                                                UnicastRef2     127.0.0.1MF?}C??xx????\sr,org.jboss.ha.framework.interfaces.RoundRobinx.???:xpxConnection closed by foreign host.


Comment 10 Jaroslaw Kijanowski 2008-06-16 09:03:19 UTC
I removed hajndi and did some other steps to have a clean start:

rm hajndi-jms-ds.xml 
cp ../../default/deploy/jms-ds.xml .
rm -rf deploy.last/
In jboss-web.deployer/META-INF/jboss-service.xml comment out:

      <depends>jboss.cache:service=TomcatClusteringCache</depends>



Comment 11 Len DiMaggio 2008-06-16 13:42:21 UTC
We also need to document un-securing the jBPM upload servlet:

SOA-270
SOA-313

Comment 12 Len DiMaggio 2008-06-16 13:42:33 UTC
Link: Added: This issue depends SOA-270


Comment 13 Len DiMaggio 2008-06-16 13:42:33 UTC
Link: Added: This issue depends SOA-313


Comment 14 Joshua Wulf 2008-06-24 03:09:19 UTC
I added the following step:

11. Follow the instructions in Section 2.1.3, "Securing the server for production environments" to enable remote deployment of processes by unsecuring the JBPM Console.


Comment 15 Len DiMaggio 2008-06-24 19:53:03 UTC
Two problems:

* Step 10 refers to this file:

--------------------
10. Edit the file /development/deploy/jboss-web.deployer and comment out the following
line:
<depends>jboss.cache:service=TomcatClusteringCache</depends>
--------------------

The file is here:  server/development/deploy/jboss-web.deployer/META-INF/jboss-service.xml


* After this file is edited, the server reports this error at startup - server.log is attached

15:44:22,519 ERROR [URLDeploymentScanner] Incomplete Deployment listing:

--- MBeans waiting for other MBeans ---
ObjectName: jboss:service=FarmMember,partition=DefaultPartition
  State: CONFIGURED
  I Depend On:
    jboss:service=DefaultPartition
    jboss.web:service=WebServer
    jboss.system:service=MainDeployer

--- MBEANS THAT ARE THE ROOT CAUSE OF THE PROBLEM ---
ObjectName: jboss:service=DefaultPartition
  State: NOTYETINSTALLED
  Depends On Me:
    jboss:service=FarmMember,partition=DefaultPartition


15:44:22,615 INFO  [Http11Protocol] Starting Coyote HTTP/1.1 on http-127.0.0.1-8080
15:44:22,645 INFO  [AjpProtocol] Starting Coyote AJP/1.3 on ajp-127.0.0.1-8009
15:44:22,659 INFO  [Server] JBoss (MX MicroKernel) [SOA_4.2.0.GA_CP02 (build: SVNTag=SOA_4.2.0.GA_CP02 date=200806240131)] Started in 1m:37s:254ms



Comment 16 Len DiMaggio 2008-06-24 19:53:26 UTC
Server log

Comment 17 Len DiMaggio 2008-06-24 19:53:26 UTC
Attachment: Added: server.log.gz


Comment 18 Len DiMaggio 2008-06-30 14:19:19 UTC
Still seeing the above problem - after these steps:

vim development/conf/jboss-log4j.xml
   Logging settings

vim development/conf/jboss-service.xml
      <attribute name="KeepAliveTime">5000</attribute>

rm development/deploy/cluster-service.xml 

rm development/deploy/deploy-hasingleton-service.xml 

rm development/deploy/ejb3-clustered-sfsbcache-service.xml 

rm -Rf development/deploy/httpha-invoker.sar/

rm -Rf development/deploy/jboss-web-cluster.sar/

cp -r default/deploy/http-invoker.sar/ development/deploy

rm development/deploy/hajndi-jms-ds.xml 

cp default/deploy/jms-ds.xml development/deploy

vim development/deploy/jboss-web.deployer/META-INF/jboss-service.xml 
   Comment out:
   <!-- depends>jboss.cache:service=TomcatClusteringCache</depends>   -->

Jarek - what am I missing?


Comment 19 Jaroslaw Kijanowski 2008-06-30 17:42:16 UTC
You didn't remove development/deploy/deploy.last :)

Comment 20 Len DiMaggio 2008-06-30 17:59:44 UTC
Jarek is correct! The full set up steps is:

vim development/conf/jboss-log4j.xml
   Logging settings

vim development/conf/jboss-service.xml
      <attribute name="KeepAliveTime">5000</attribute>

rm development/deploy/cluster-service.xml

rm development/deploy/deploy-hasingleton-service.xml

rm development/deploy/ejb3-clustered-sfsbcache-service.xml

rm -Rf development/deploy/httpha-invoker.sar/

rm -Rf development/deploy/jboss-web-cluster.sar/

rm -Rf development/deploy/deploy.last

cp -r default/deploy/http-invoker.sar/ development/deploy

rm development/deploy/hajndi-jms-ds.xml

cp default/deploy/jms-ds.xml development/deploy

vim development/deploy/jboss-web.deployer/META-INF/jboss-service.xml
   Comment out:
   <!-- depends>jboss.cache:service=TomcatClusteringCache</depends> --> 

Comment 21 Joshua Wulf 2008-07-01 07:23:09 UTC
 Delete the following files and directories from the development/deploy directory:

    * cluster-service.xml
    * deploy-hasingleton-service.xml
    * ejb3-clustered-sfsbcache-service.xml
    * httpha-invoker.sar
    * jboss-web-cluster.sar
    * hajndi-jms-ds.xml
    * deploy.last

https://engineering.redhat.com/docbot/en-US/JBoss_SOA_Platform/4.2/html/SOA_Getting_Started_Guide/SOA_Getting_Started_Guide-Post_Installation_Testing_and_Starting.html#convert_production_to_development

Comment 22 Len DiMaggio 2008-07-01 17:15:36 UTC
Verified fixed in CR5.