[jBPM] - Cleaning up the JBPM internal db
by Abhishek Mishra
Abhishek Mishra [https://community.jboss.org/people/abhishekmjboss] created the discussion
"Cleaning up the JBPM internal db"
To view the discussion, visit: https://community.jboss.org/message/832701#832701
--------------------------------------------------------------
All - We are seeing some performance degradation in our current set up. We are using JBPM 3 with JBOSS ESB. We had a process which was earlier taking around 40 mins to complete but now that is taking hours to complete. So after doing some research we found that the internal db has grown relatively big. And this table space is occupying arround 80% of the total space. After doing some analysis we found the process deletion api from the REDHAT. Here basically we are doing "jbpmContext.getGraphSession().deleteProcessInstance(processInstance); ".
Here I would like to know if we run this in production is there going to be any impact ?
What's extra parmeter/setting we will have to check if we go by this ?
Is there any alternative ways to get read of this and free the space ?
Could you please review this and let me know?
Thanks in advance.
Thanks,
Abhishek
--------------------------------------------------------------
Reply to this message by going to Community
[https://community.jboss.org/message/832701#832701]
Start a new discussion in jBPM at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&con...]
11 years, 1 month
[jBPM] - Concurrency problems with JBPM 5.4
by Jon Kranes
Jon Kranes [https://community.jboss.org/people/jkranes] created the discussion
"Concurrency problems with JBPM 5.4"
To view the discussion, visit: https://community.jboss.org/message/828867#828867
--------------------------------------------------------------
I am working on a JBPM 5.4 / jBoss 7.1.1 application and have been unable to get it to run reliably using multiple threads.
The basic approach I am taking is as follows:
* Process instances are triggered by an incoming message (AMQP/ RabbitMQ) received by a message listener. For optimal performance I need to be able to use multiple listener threads. (Ultimately there will be multiple application server host instances as well but first things first).
* I am creating a new StatefulKnowlegeSession for each new ProcessInstance.
* I am using a local HumanTaskService (note that I am able to trigger concurrency problems mentioned below even while using a workflow that has no user tasks in it).
* I am disposing of the session and its associated handlers immediately after starting the process. If I need to respond to an asynch signal (e.g. completion of a human task) I create the session by ID from the database (this is part of the scaling strategy - need to be able to continue the process at a future time on an entirely different machine).
* Mainly using Oracle (11g XE) but have also tested with MySQL and see the exact same issues.
I am using Spring with declarative transactions. I am using JTA transactions through the jBoss platform JTA transaction manager.
Here's what I am experiencing:
* Everything works fine as long as as I run a single thread only (i.e. have only one instance of my message listener class). I can run this way for hours without a single exception being thrown.
* With two or more message listeners, I get exceptions (not necessarily right away, but if I run enough iterations it happens pretty quickly).
* I see a variety of different exceptions each time I run the program. The exceptions vary but all are related to inability to commit, invalid sessions, inability to find a certain piece of data (the session or process instance), deadlocks, concurrent modification exceptions, etc. All the kinds of things you would expect in non threadsafe code.
* Once an exception is thrown on a given thread, it seems that the thread will just keep throwing the 'Entity Manager is Closed' exception. I am guessing there is something happenging here with a ThreadLocal tied to the thread that never gets cleared up once problems occur on that thread. If I run long enough, all threads end up with this problem and the system basically becomes useless and needs a full restart.
So without trying to debug each and every exception one at a time, I'm wondering if there is anything obvious I am doing in my code that would lead to a non threadsafe condition. I have read several threads on issues surrounding the StatefulKnowledgeSession so I have deliberately chosen to NOT share sessions between threads for that reason (and others).
A few main questions also:
* Wrapping the Spring JTA PlatformTransactionManager in the DroolsSpringTransactionManager: i have seen this in several examples but have not seen any good explanation of whether/when it is necessary.
* Use of the DroolsSpringJPAManager: again, have seen this in examples but no real documentation explaining it.
* Should the StatefulKnowledgeSession be created inside a transaction? Must it be the same transaction that it is used in? I know that it has to be disposed outside of the transaction boundaries.
Thanks for any help or suggestions. I'm happy to provide more code as needed; I wanted to keep this limited to what seems relevant rather than zip up an entire complex application and force people to wade through all of it.
-- Jon Kranes
Relevant code:
I have a wrapper class to hold a reference to the StatefulKnowledgeSession and its associated handlers, to make it easier to manage disposal:
public class SessionWrapper {
private static Logger log = Logger.getLogger(SessionWrapper.class);
private StatefulKnowledgeSession session;
private GenericHTWorkItemHandler htHandler;
private JPAWorkingMemoryDbLogger dbLogger;
private LocalTaskService localTaskService;
public void dispose() {
try {
log.info("disposing local task service");
localTaskService.dispose();
}
catch (Exception e) {
log.error(e);
}
try {
// log.info("disposing db logger");
// this does not do anything.
// dbLogger.dispose();
}
catch (Exception e) {
log.error(e);
}
try {
log.info("disposing ht handler");
htHandler.dispose();
}
catch (Exception e) {
log.error(e);
}
try {
log.info("Disposing session ID " + session.getId());
session.dispose();
}
catch (Exception e) {
log.error(e);
}
}
public StatefulKnowledgeSession getSession() {
return session;
}
public void setSession(StatefulKnowledgeSession session) {
this.session = session;
}
public GenericHTWorkItemHandler getHtHandler() {
return htHandler;
}
public void setHtHandler(GenericHTWorkItemHandler htHandler) {
this.htHandler = htHandler;
}
public JPAWorkingMemoryDbLogger getDbLogger() {
return dbLogger;
}
public void setDbLogger(JPAWorkingMemoryDbLogger dbLogger) {
this.dbLogger = dbLogger;
}
public LocalTaskService getLocalTaskService() {
return localTaskService;
}
public void setLocalTaskService(LocalTaskService localTaskService) {
this.localTaskService = localTaskService;
}
}
The SessionWrapper instance is created here
public class KnowledgeSessionFactory {
@Autowired
KnowledgeBase kbase;
@Autowired
org.jbpm.task.service.TaskService taskService;
@Autowired
EntityManagerFactory emf;
@Autowired
EventDrivenTaskHandler handler;
@Autowired
DroolsSpringTransactionManager txManager;
@Autowired
AuditService auditService;
@Autowired
AuditTaskHandler auditHandler;
private static final Logger log = Logger.getLogger(KnowledgeSessionFactory.class);
public SessionWrapper createKnowledgeSession() {
log.info("Creating new StatefulKnowledgeSession");
StatefulKnowledgeSession ksession = null;
try {
ksession = JPAKnowledgeService.newStatefulKnowledgeSession( kbase, null, getEnvironment() );
}
catch (Exception e) {
log.error("Unable to create sesssion!");
log.error(e);
throw new RuntimeException(e);
}
log.info("Session ID: " + ksession.getId());
return createSessionWrapper(ksession);
}
public SessionWrapper createKnowledgeSession(int sessionId) {
log.info("Loading StatefulKnowledgeSession for ID: " + sessionId);
StatefulKnowledgeSession ksession = JPAKnowledgeService.loadStatefulKnowledgeSession(sessionId, kbase, null, getEnvironment());
return createSessionWrapper(ksession);
}
private SessionWrapper createSessionWrapper(StatefulKnowledgeSession ksession) {
LocalTaskService taskClient = new LocalTaskService(taskService);
GenericHTWorkItemHandler htHandler = new LocalHTWorkItemHandler(taskClient, ksession);
ksession.getWorkItemManager().registerWorkItemHandler("Human Task", htHandler);
ksession.getWorkItemManager().registerWorkItemHandler("Task", handler);
ksession.getWorkItemManager().registerWorkItemHandler("Audit", auditHandler);
ksession.addEventListener(new DroolsListener());
// This allows access of the global in script tasks
ksession.setGlobal("auditService", auditService);
JPAWorkingMemoryDbLogger dbLogger = new JPAWorkingMemoryDbLogger(ksession);
SessionWrapper wrapper = new SessionWrapper();
wrapper.setSession(ksession);
wrapper.setHtHandler(htHandler);
wrapper.setDbLogger(dbLogger);
wrapper.setLocalTaskService(taskClient);
return wrapper;
}
private Environment getEnvironment() {
log.info("creating environment");
env = KnowledgeBaseFactory.newEnvironment();
env.set(EnvironmentName.ENTITY_MANAGER_FACTORY, emf );
env.set(EnvironmentName.TRANSACTION_MANAGER, txManager);
PersistenceContextManager persistenceContextManager = new DroolsSpringJpaManager(env);
env.set(EnvironmentName.PERSISTENCE_CONTEXT_MANAGER, persistenceContextManager);
log.info("environment created");
return env;
}
}
Here is the message driven bean that initiates starting new process instances:
public class StartProcessListener implements MessageListener {
private static Logger log = Logger.getLogger(StartProcessListener.class);
@Autowired
EventService service;
@Autowired
KnowledgeSessionFactory factory;
@Autowired
SerializerMessageConverter converter;
public void onMessage(Message message) {
SessionWrapper wrapper = null;
try {
Map<String, Object> map = (Map<String, Object>)converter.fromMessage(message);
Map<String, Object> params = new HashMap<String, Object>();
params.put("returnStatus", "VALID");
params.put("return", map.get("return"));
String processId = (String)map.get("processId");
try {
wrapper = service.createSessionWrapper();
service.startProcess(wrapper, processId, params);
}
catch (Exception e) {
log.error(e);
}
}
catch (Exception e) {
log.error(e);
}
finally {
if (wrapper != null) {
wrapper.dispose();
}
}
}
And finally the service class that uses declarative transactions:
public class EventServiceImpl implements EventService {
private static Logger log = Logger.getLogger(EventServiceImpl.class);
@Autowired
KnowledgeSessionFactory factory;
@Autowired
TaskService taskService;
@Override
@Transactional
public SessionWrapper createSessionWrapper() {
return factory.createKnowledgeSession();
}
@Transactional
@Override
public void startProcess(SessionWrapper wrapper, String processId, Map<String, Object> params) {
// SessionWrapper wrapper = factory.createKnowledgeSession();
StatefulKnowledgeSession ksession = wrapper.getSession();
// initializes the human task handler for the session
// org.jbpm.task.TaskService lts = LocalHumanTaskService.getTaskService(ksession);
// this allows us to insert the processInstance into the session before starting it.
ProcessInstance processInstance = ksession.createProcessInstance(processId, params);
// for drools
ksession.insert(processInstance);
log.info("Starting process instance");
ksession.startProcessInstance(processInstance.getId());
//return wrapper;
}
@Transactional
@Override
public SessionWrapper completeWorkItem(int sessionId, long workItemId, Map<String, Object> results) {
SessionWrapper wrapper = factory.createKnowledgeSession(sessionId);
StatefulKnowledgeSession ksession = wrapper.getSession();
completeWorkItem(ksession, workItemId, results);
return wrapper;
}
@Override
@Transactional
public SessionWrapper completeTask(int sessionId, Long taskId, Map<String, Object> results) {
log.info("Completing task: " + taskId);
for (String key : results.keySet()) {
log.info(key + "=" + results.get(key));
}
// LocalTaskService lts = new LocalTaskService(taskService);
// StatefulKnowledgeSession ksession = factory.getKnowledgeSession(sessionId);
SessionWrapper wrapper = factory.createKnowledgeSession(sessionId);
StatefulKnowledgeSession ksession = wrapper.getSession();
// org.jbpm.task.TaskService lts = LocalHumanTaskService.getTaskService(ksession);
org.jbpm.task.TaskService lts = wrapper.getLocalTaskService();
Task task = lts.getTask(taskId);
// int sessionId = task.getTaskData().getProcessSessionId();
// completeWorkItem(sessionId, task.getTaskData().getWorkItemId(), results);
try {
lts.start(taskId, "USER");
}
catch (Exception e) {
log.error(e);
}
try {
ContentData contentData = ContentMarshallerHelper.marshal(results, null);
lts.complete(taskId, "USER", contentData);
lts.disconnect(); // does this do anything useful?
}
catch (Exception e) {
log.error(e);
}
// for drools
ProcessInstance pi = ksession.getProcessInstance(task.getTaskData().getProcessInstanceId());
ksession.insert(pi);
completeWorkItem(ksession, task.getTaskData().getWorkItemId(), results);
return wrapper;
}
private void completeWorkItem(StatefulKnowledgeSession ksession, Long workItemId, Map<String, Object> results) {
log.info("Completing work item: " + workItemId);
ksession.getWorkItemManager().completeWorkItem(workItemId, results);
}
}
Spring configuration:
<?xml version="1.0" encoding="UTF-8"?>
<beans ... >
<context:annotation-config />
<!-- Loads all classes annotated with @Component or @Service -->
<context:component-scan base-package="org.mitre.irs.eda.bpm"/>
<context:property-placeholder location="classpath:eda.properties" order="2"/>
<jee:jndi-lookup id="emf" jndi-name="persistence/emf"/>
<!-- Spring JtaTransactionManager -->
<bean id="jtaTxManager" class="org.springframework.transaction.jta.JtaTransactionManager" />
<bean id="txManager" class="org.drools.container.spring.beans.persistence.DroolsSpringTransactionManager"
c:ptm-ref="jtaTxManager" />
<tx:annotation-driven transaction-manager="jtaTxManager" />
<jpa:repositories base-package="org.mitre.irs.eda.common.repo" entity-manager-factory-ref="emf" transaction-manager-ref="jtaTxManager" />
<bean id="jpaDialect" class="org.springframework.orm.jpa.vendor.HibernateJpaDialect" />
<!-- JBPM -->
<bean id="sel" class="org.drools.SystemEventListenerFactory"
factory-method="getSystemEventListener" />
<bean id="jbpmTaskService" class="org.jbpm.task.service.TaskService"
c:emf-ref="emf" c:systemEventListener-ref="sel" />
<bean id="kbaseFactory" class="org.mitre.irs.eda.bpm.jbpm.KnowledgeBaseFactory" />
<bean id="kbase" factory-bean="kbaseFactory" factory-method="newKnowledgeBase" />
<!-- Rabbit MQ -->
<rabbit:connection-factory id="connectionFactory" channel-cache-size="20"
username="${amqp.username}" password="${amqp.password}" host="${amqp.host}" port="${amqp.port}" />
<rabbit:admin id="admin" connection-factory="connectionFactory" />
<bean id="serializerConverter" class="org.springframework.amqp.support.converter.SerializerMessageConverter" />
<rabbit:template id="amqpTemplate" connection-factory="connectionFactory" message-converter="serializerConverter"/>
<rabbit:queue id="start" name="process.start" />
<rabbit:queue id="task.start" name="process.task.start" />
<rabbit:queue id="task.complete" name="process.task.complete" />
<bean id="startListener" class="org.mitre.irs.eda.bpm.listener.StartProcessListener" />
<bean id="taskCompleteListener" class="org.mitre.irs.eda.bpm.listener.TaskCompleteListener" />
<rabbit:listener-container connection-factory="connectionFactory" concurrency="4">
<rabbit:listener queues="start" ref="startListener" />
<rabbit:listener queues="task.complete" ref="taskCompleteListener" />
</rabbit:listener-container>
</beans>
--------------------------------------------------------------
Reply to this message by going to Community
[https://community.jboss.org/message/828867#828867]
Start a new discussion in jBPM at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&con...]
11 years, 1 month
[IronJacamar] - Unable to connect to the host controller from slave
by Suyog Rajput
Suyog Rajput [https://community.jboss.org/people/suyograj] created the discussion
"Unable to connect to the host controller from slave"
To view the discussion, visit: https://community.jboss.org/message/832626#832626
--------------------------------------------------------------
Hello,
I clustered JBoss as 7.1.1 (master & slave). But I unable to connect to the host controller from slave. Following is the stack trace of slave server. I go through various discussion but unable to sortout my problem please help me out of it.
Thanks in advance & regards
Suyog
C:\SamyakSoft\jboss-as-7.1.1.Final\bin>domain.bat
Calling "C:\SamyakSoft\jboss-as-7.1.1.Final\bin\domain.conf.bat"
JAVA_HOME is not set. Unexpected results may occur.
Set JAVA_HOME to the directory of your local JDK to avoid this message.
===============================================================================
JBoss Bootstrap Environment
JBOSS_HOME: C:\SamyakSoft\jboss-as-7.1.1.Final
JAVA: java
JAVA_OPTS: -Dprogram.name=domain.bat -Xms64M -Xmx512M -XX:MaxPermSize=256M -Ds
un.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Dj
ava.net.preferIPv4Stack=true -Dorg.jboss.resolver.warning=true -Djboss.modules.s
ystem.pkgs=org.jboss.byteman -Djboss.domain.default.config=domain.xml -Djboss.ho
st.default.config=host.xml
===============================================================================
19:21:30,475 INFO [org.jboss.modules] (main) JBoss Modules version 1.1.1.GA
19:21:30,616 INFO [org.jboss.as.process.Host Controller.status] (main) JBAS012017: Starting process 'Host Controller'
[Host Controller] 19:21:31,146 INFO [org.jboss.modules] (main) JBoss Modules version 1.1.1.GA
[Host Controller] 19:21:31,271 INFO [org.jboss.msc] (main) JBoss MSC version 1.0.2.GA
[Host Controller] 19:21:31,380 INFO [org.jboss.as] (MSC service thread 1-3) JBAS015899: JBoss AS 7.1.1.Final "Brontes" starting
[Host Controller] 19:21:31,942 INFO [org.xnio] (MSC service thread 1-3) XNIO Version 3.0.3.GA
[Host Controller] 19:21:31,957 INFO [org.xnio.nio] (MSC service thread 1-3) XNIO NIO Implementation Version 3.0.3.GA
[Host Controller] 19:21:31,973 INFO [org.jboss.remoting] (MSC service thread 1-3) JBoss Remoting version 3.2.3.GA
[Host Controller] 19:21:37,308 WARN [org.jboss.as.host.controller] (ControllerBoot Thread) JBAS010900: Could not connect to remote domain controller
192.168.1.204:9999: java.net.ConnectException: JBAS012144: Could not connect to remote://192.168.1.204:9999. The connection timed out
[Host Controller] 19:21:43,376 WARN [org.jboss.as.host.controller] (ControllerBoot Thread) JBAS010900: Could not connect to remote domain controller
192.168.1.204:9999: java.net.ConnectException: JBAS012144: Could not connect to remote://192.168.1.204:9999. The connection timed out
[Host Controller] 19:21:49,492 WARN [org.jboss.as.host.controller] (ControllerBoot Thread) JBAS010900: Could not connect to remote domain controller
192.168.1.204:9999: java.net.ConnectException: JBAS012144: Could not connect to remote://192.168.1.204:9999. The connection timed out
[Host Controller] 19:21:55,545 WARN [org.jboss.as.host.controller] (ControllerBoot Thread) JBAS010900: Could not connect to remote domain controller
192.168.1.204:9999: java.net.ConnectException: JBAS012144: Could not connect to remote://192.168.1.204:9999. The connection timed out
[Host Controller] 19:22:01,613 WARN [org.jboss.as.host.controller] (ControllerBoot Thread) JBAS010900: Could not connect to remote domain controller 192.168.1
.204:9999: java.net.ConnectException: JBAS012144: Could not connect to remote://192.168.1.204:9999. The connection timed out
[Host Controller] 19:22:07,666 ERROR [org.jboss.as.host.controller] (ControllerBoot Thread) JBAS010901: Could not connect to master. Aborting. Error was: java.
lang.IllegalStateException: JBAS010951: Could not connect to master in 5 attempts within 30000 ms
[Host Controller] 19:22:08,664 INFO [org.jboss.as] (MSC service thread 1-3) JBAS015950: JBoss AS 7.1.1.Final "Brontes" stopped in 996ms
19:22:09,179 INFO [org.jboss.as.process.Host Controller.status] (reaper for Host Controller) JBAS012010: Process 'Host Controller' finished with an exit status of 99
19:22:09,179 INFO [org.jboss.as.process] (Thread-8) JBAS012016: Shutting down process controller
19:22:09,195 INFO [org.jboss.as.process] (Thread-8) JBAS012015: All processes finished; exiting
Press any key to continue . . .
*)here is the host.xml from slave machine
<host name="slave" xmlns="urn:jboss:domain:1.2">
<management>
<security-realms>
<security-realm name="ManagementRealm">
<server-identities>
<secret value="MTkzMzU2ODY4MDgzMTc2OTQ4ZjBkMzQzNzMzNWI5YWQ="/>
</server-identities>
<authentication>
<properties path="mgmt-users.properties" relative-to="jboss.domain.config.dir"/>
</authentication>
</security-realm>
<security-realm name="ApplicationRealm">
<authentication>
<properties path="application-users.properties" relative-to="jboss.domain.config.dir" />
</authentication>
</security-realm>
</security-realms>
<management-interfaces>
<native-interface security-realm="ManagementRealm">
<socket interface="management" port="${jboss.management.native.port:9999}"/>
</native-interface>
<http-interface security-realm="ManagementRealm">
<socket interface="management" port="${jboss.management.http.port:9990}"/>
</http-interface>
</management-interfaces>
</management>
<domain-controller>
<remote host="${jboss.domain.master.address:192.168.1.204}" port="${jboss.domain.master.port:9999}" security-realm="ManagementRealm"/>
<!-- Alternative remote domain controller configuration with a host and port -->
<!-- <remote host="${jboss.domain.master.address}" port="${jboss.domain.master.port:9999}"/> -->
</domain-controller>
<interfaces>
<interface name="management">
<inet-address value="${jboss.bind.address.management:192.168.1.202}"/>
</interface>
<interface name="public">
<inet-address value="${jboss.bind.address:192.168.1.202}"/>
</interface>
<interface name="unsecure">
<inet-address value="192.168.1.202"/>
</interface>
</interfaces>
<jvms>
<jvm name="default">
<heap size="64m" max-size="256m"/>
<permgen size="256m" max-size="256m"/>
<jvm-options>
<option value="-server"/>
</jvm-options>
</jvm>
</jvms>
<servers>
<server name="Samyak123" group="main-server-group">
</server>
</servers>
</host>
*)host.xml of master machine.
<host name="master" xmlns="urn:jboss:domain:1.2">
<management>
<security-realms>
<security-realm name="ManagementRealm">
<authentication>
<properties path="mgmt-users.properties" relative-to="jboss.domain.config.dir"/>
</authentication>
</security-realm>
<security-realm name="ApplicationRealm">
<authentication>
<properties path="application-users.properties" relative-to="jboss.domain.config.dir" />
</authentication>
</security-realm>
</security-realms>
<management-interfaces>
<native-interface security-realm="ManagementRealm">
<socket interface="management" port="${jboss.management.native.port:9999}"/>
</native-interface>
<http-interface security-realm="ManagementRealm">
<socket interface="management" port="${jboss.management.http.port:9990}"/>
</http-interface>
</management-interfaces>
</management>
<domain-controller>
<local/>
<!-- Alternative remote domain controller configuration with a host and port -->
<!-- <remote host="${jboss.domain.master.address}" port="${jboss.domain.master.port:9999}"/> -->
</domain-controller>
<interfaces>
<interface name="management">
<inet-address value="${jboss.bind.address.management:192.168.1.204}"/>
</interface>
<interface name="public">
<inet-address value="${jboss.bind.address:192.168.1.204}"/>
</interface>
<interface name="unsecure">
<!-- Used for IIOP sockets in the standard configuration.
To secure JacORB you need to setup SSL -->
<inet-address value="192.168.1.204"/>
</interface>
</interfaces>
<jvms>
<jvm name="default">
<heap size="64m" max-size="256m"/>
<permgen size="256m" max-size="256m"/>
<jvm-options>
<option value="-server"/>
</jvm-options>
</jvm>
</jvms>
<servers>
<server name="server-one" group="main-server-group">
</server>
<server name="server-two" group="main-server-group" auto-start="true">
<!-- server-two avoids port conflicts by incrementing the ports in
the default socket-group declared in the server-group -->
<socket-bindings port-offset="150"/>
</server>
<server name="server-three" group="other-server-group" auto-start="false">
<!-- server-three avoids port conflicts by incrementing the ports in
the default socket-group declared in the server-group -->
<socket-bindings port-offset="250"/>
</server>
</servers>
</host>
--------------------------------------------------------------
Reply to this message by going to Community
[https://community.jboss.org/message/832626#832626]
Start a new discussion in IronJacamar at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&con...]
11 years, 1 month
[Beginner's Corner] - Unable to locate an executable at "/usr/bin/java/bin/java" (-1)
by Joe Nicora
Joe Nicora [https://community.jboss.org/people/joenicora] created the discussion
"Unable to locate an executable at "/usr/bin/java/bin/java" (-1)"
To view the discussion, visit: https://community.jboss.org/message/832534#832534
--------------------------------------------------------------
After recently installing Grails for a new project, my jboss install will not run. I get the following after running ./run.sh
Workhog:bin joenicora$ =========================================================================
JBoss Bootstrap Environment
JBOSS_HOME: /opt/jboss
JAVA: /usr/bin/java
JAVA_OPTS: -Dprogram.name=run.sh -Xms1024m -Xmx3072m -XX:MaxPermSize=1024m -Dorg.jboss.resolver.warning=true -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000
CLASSPATH: /opt/jboss/bin/run.jar
=========================================================================
Unable to locate an executable at "/usr/bin/java/bin/java" (-1)
OSX 10.7.5
java version "1.6.0_51"
my bash_profile:
export JAVA_HOME=/Library/Java/Home
The path in this part of the message doesn't look right: "Unable to locate an executable at "/usr/bin/java/bin/java" (-1)". But changes to my bash_profile never update that path. Any idea what is causing this issue?
--------------------------------------------------------------
Reply to this message by going to Community
[https://community.jboss.org/message/832534#832534]
Start a new discussion in Beginner's Corner at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&con...]
11 years, 1 month
[JBoss Web Services] - Web-service is always deployed with ssl endpoint on WildFly how to avoid it ?
by nmay
nmay [https://community.jboss.org/people/nmay] created the discussion
"Web-service is always deployed with ssl endpoint on WildFly how to avoid it ?"
To view the discussion, visit: https://community.jboss.org/message/832603#832603
--------------------------------------------------------------
Hi,
I update my wildfly installatoin to the latest jbossws-cxf-4.2.0.Final webservice release.
I deploy the simple username token webservice with end point address specified like this
<service name="SecurityService">
<port name="SecurityServicePort" binding="tns:SecurityServicePortBinding">
<soap:address location=" http://localhost/wsse http://localhost/wsse"/>
</port>
</service>
however wildfly deploy it always with wsdl url like this: http://localhost:8443/wsse?wsdl http://localhost:8443/wsse?wsdl
here is the log:
11:12:49,539 INFO [org.apache.cxf.service.factory.ReflectionServiceFactoryBean] (MSC service thread 1-14) Creating Service {http://www.jboss.org/jbossws/ws-extensions/wssecuritypolicy}SecurityService from WSDL: W
11:12:50,408 WARNING [org.apache.cxf.ws.policy.AssertionBuilderRegistryImpl] (MSC service thread 1-14) No assertion builder for type {http://cxf.apache.org/not/a/policy}unknownPolicy registered.
11:12:50,431 INFO [org.apache.cxf.endpoint.ServerImpl] (MSC service thread 1-14) *Setting the server's publish address to be https://localhost:8443/wsse*
11:12:50,633 INFO [org.jboss.ws.cxf.deployment] (MSC service thread 1-14) JBWS024074: WSDL published to: file:/D:/dev/tools/wildfly-8.0.0.Alpha3/standalone/data/wsdl/wsse.war/SecurityService.wsdl
11:12:50,723 INFO [org.jboss.as.webservices] (MSC service thread 1-5) JBAS015539: Starting service jboss.ws.endpoint."wsse.war".TestService
11:12:50,929 INFO [org.wildfly.extension.undertow] (MSC service thread 1-16) JBAS018210: Register web context: /wsse
11:12:50,977 INFO [org.jboss.as.server] (ServerService Thread Pool -- 27) JBAS018559: Deployed "wsse.war" (runtime-name : "wsse.war")
11:12:50,979 INFO [org.jboss.as.controller] (Controller Boot Thread) JBAS014774: Service status report
11:12:51,039 INFO [org.jboss.as] (Controller Boot Thread) JBAS015961: Http management interface listening on http://127.0.0.1:9990/management
11:12:51,040 INFO [org.jboss.as] (Controller Boot Thread) JBAS015951: Admin console listening on http://127.0.0.1:9990
11:12:51,040 ERROR [org.jboss.as] (Controller Boot Thread) JBAS015875: WildFly 8.0.0.Alpha3 "WildFly" started ...
Is there any way to avoid this ?
Thanks in advance !
Regards,
Niko
--------------------------------------------------------------
Reply to this message by going to Community
[https://community.jboss.org/message/832603#832603]
Start a new discussion in JBoss Web Services at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&con...]
11 years, 1 month