[JBoss Tools] - Future strategy for Tagging JBoss Tools core
by Max Rydahl Andersen
Max Rydahl Andersen [https://community.jboss.org/people/maxandersen] created the document:
"Future strategy for Tagging JBoss Tools core"
To view the document, visit: https://community.jboss.org/docs/DOC-48351
--------------------------------------------------------------
h1. Future Strategy
The disadvantage of the above is it assumes components are always released/rebuilt for each JBoss Tools release.
This is something we would like to move away from requiring to allow for smaller updates (only download what actually changed) and
faster build times (aggregation is faster than always build from source).
What we need to get to a model where:
1. Each component has its own version in manifest.mf/pom.xml
2. The git repositories should use tag/branches based on component version
Is to solve (or ignore ;) following issues:
* Jira ?* jira does not have support for versions per component, thus need project per component.* How to get query to see which issues are missing/left ?
* Git* how to know which version is included in jboss tools release ?* can we use submodules to model this ?
* use eclipse's map file approach ?
* Something else ?
--------------------------------------------------------------
Comment by going to Community
[https://community.jboss.org/docs/DOC-48351]
Create a new document in JBoss Tools at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=102&c...]
13 years, 2 months
[JBoss Tools] - Tagging/branching of JBoss Tools Core subcomponents
by Max Rydahl Andersen
Max Rydahl Andersen [https://community.jboss.org/people/maxandersen] created the document:
"Tagging/branching of JBoss Tools Core subcomponents"
To view the document, visit: https://community.jboss.org/docs/DOC-48350
--------------------------------------------------------------
Our recent move to git caused some confusion on how we tag/branch components in JBoss Tools core components.
h1. Current versioning
To avoid future confusion here are the short version of the current approach:
1. Each component has its own version in manifest.mf/pom.xml
2. The git repositories should use tag/branches based on jbosstools version (jbosstools-<version>x for branches, jbosstools-<version> for tag)
3. In Jira use the jbosstools version for reporting/targeting issues.
The advantage of the above is that git & jira use the same version and no need to juggle multiple versions for git nor for jira queries.
i.e. with a unified tag like "jbosstools-4.1.0.Alpha1" you can find which version is used of a specific component for a specific jboss tools release easily.
h1. Future Versioning
The disadvantage of the above is it assumes components are always released/rebuilt for each JBoss Tools release.
This is something we would like to move away from requiring to allow for smaller updates (only download what actually changed) and
faster build times (aggregation is faster than always build from source).
What we need to get to a model where:
1. Each component has its own version in manifest.mf/pom.xml
2. The git repositories should use tag/branches based on component version
Is to solve (or ignore ;) following issues:
* Jira ?* jira does not have support for versions per component, thus need project per component.* How to get query to see which issues are missing/left ?
* Git* how to know which version is included in jboss tools release ?* can we use submodules to model this ?
* use eclipse's map file approach ?
* Something else ?
*
--------------------------------------------------------------
Comment by going to Community
[https://community.jboss.org/docs/DOC-48350]
Create a new document in JBoss Tools at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=102&c...]
13 years, 2 months
[EJB3] - Closing jms connection in EJB componenets
by Łukasz Chomiuk
Łukasz Chomiuk [https://community.jboss.org/people/lukhash] created the discussion
"Closing jms connection in EJB componenets"
To view the discussion, visit: https://community.jboss.org/message/796973#796973
--------------------------------------------------------------
Hi.
I writing a simple chat application using EJB3 and JMS. The app is almost done but I have problem with closing connection. When I close connection in one user then i can't close connection in the other. This is code of my app.
Client side
@Stateful
@LocalBean
public class ChatClientBean implements ChatClientLocal{
private String owner;
private MessageContainer container = null;
/* Zmienne połączeniowe */
private String destination = null;
private final static String C_FACTORY = "/ConnectionFactory";
private Context ic;
private TopicConnectionFactory tcf = null;
private TopicConnection connection;
private Topic topic;
private TopicSession subSession;
private TopicSubscriber subscriber;
private TopicSession pubSession;
private TopicPublisher publisher;
/* -------------------- */
public ChatClientBean(){}
@Override
public void init(String topicName, String owner, MessageContainer container){
try{
this.destination = topicName;
this.owner = owner;
this.container = container;
ic = new InitialContext();
tcf = (TopicConnectionFactory) ic.lookup(C_FACTORY);
connection = tcf.createTopicConnection();
pubSession = connection.createTopicSession(false, Session.AUTO_ACKNOWLEDGE);
subSession = connection.createTopicSession(false, Session.AUTO_ACKNOWLEDGE);
topic = (Topic) ic.lookup(destination);
subscriber = subSession.createSubscriber(topic);
publisher = pubSession.createPublisher(topic);
subscriber.setMessageListener(this);
System.out.println("Zaincjalizowano ChatClientBean dla "+owner);
}catch(JMSException ex){
System.out.println("Blad przy incjalizacji MessageProccesora");
ex.printStackTrace();
}catch(NamingException ex){
System.out.println("Blad JNDI");
}
}
@Override
public void onMessage(Message message) {
try{
TextMessage tm = (TextMessage) message;
if(container!= null){
container.service(tm.getText());
}
System.out.println("Odebrano przez : "+owner+ " : " + tm.getText());
}catch(JMSException ex){
System.out.println("Blad JMS przy odbieraniu");
ex.printStackTrace();
}
}
@Override
public void sendMessage(String message){
try{
TextMessage tm = pubSession.createTextMessage(message);
publisher.publish(tm);
System.out.println("Wiadomosc wyslana przez "+owner+" : "+ tm.getText());
}catch(JMSException ex){
ex.printStackTrace();
}
}
@Override
public void start(){
try{
connection.start();
}catch(JMSException ex){
System.out.println("Blad przy startowaniu polaczenia");
}
}
@Override
public void close(){
try{
if(pubSession != null){
pubSession.close();
}
if(subSession != null){
subSession.close();
}
if(connection != null){
connection.close();
}
if(ic != null){
ic.close();
}
}catch(JMSException ex){
System.out.println("Blad przy zamykaniu polaczenia : "+ owner);
ex.printStackTrace();
}catch(NamingException ex){
System.out.println("Blad JNDI przy zamykaniu polaczenia "+owner);
}
}
/* GETTERY i SETTERY */
public String getOwner() {
return owner;
}
public void setOwner(String owner) {
this.owner = owner;
}
public MessageContainer getContainer() {
return container;
}
public void setContainer(MessageContainer container) {
this.container = container;
}
public String getDestination() {
return destination;
}
public void setDestination(String destination) {
this.destination = destination;
}
/* ----------------- */
Operator side
@Stateful
@LocalBean
public class ChatOperatorBean implements ChatOperatorLocal{
private String owner;
private ClientsContainer container;
/* Zmienne połączeniowe */
private String destination = null;
private final static String C_FACTORY = "/ConnectionFactory";
private Context ic;
private TopicConnectionFactory tcf = null;
private TopicConnection connection;
private Topic topic;
private TopicSession subSession;
private TopicSubscriber subscriber;
private TopicSession pubSession;
private TopicPublisher publisher;
/* -------------------- */
@Override
public void init(String topicName, String owner, ClientsContainer container){
try{
this.destination = topicName;
this.owner = owner;
this.container = container;
ic = new InitialContext();
tcf = (TopicConnectionFactory) ic.lookup(C_FACTORY);
connection = tcf.createTopicConnection();
pubSession = connection.createTopicSession(false, Session.AUTO_ACKNOWLEDGE);
subSession = connection.createTopicSession(false, Session.AUTO_ACKNOWLEDGE);
topic = (Topic) ic.lookup(destination);
subscriber = subSession.createSubscriber(topic);
publisher = pubSession.createPublisher(topic);
subscriber.setMessageListener(this);
System.out.println("Zaincjalizowano ChatOperatorBean dla "+owner);
}catch(JMSException ex){
System.out.println("Blad przy incjalizacji MessageProccesora : "+owner);
ex.printStackTrace();
}catch(NamingException ex){
System.out.println("Blad JNDI : "+owner);
ex.printStackTrace();
}
}
@Override
public void onMessage(Message message) {
try{
TextMessage tm = (TextMessage) message;
if(container!= null){
container.service(tm.getText());
}
System.out.println("Odebrano przez : "+owner+" : "+ tm.getText());
}catch(JMSException ex){
System.out.println("Blad JMS przy odbieraniu u : "+owner);
ex.printStackTrace();
}
}
@Override
public void sendMessage(String message){
try{
TextMessage tm = pubSession.createTextMessage(message);
publisher.publish(tm);
System.out.println("Wiadomosc wyslana przez "+owner+" : "+ tm.getText());
}catch(JMSException ex){
ex.printStackTrace();
}
}
public void start(){
try{
connection.start();
}catch(JMSException ex){
System.out.println("Blad przy startowaniu polaczenia : "+owner);
}
}
@Override
public void close(){
try{
if(pubSession != null){
pubSession.close();
}
if(subSession != null){
subSession.close();
}
if(connection != null){
connection.close();
}
if(ic != null){
ic.close();
}
}catch(JMSException ex){
System.out.println("Blad przy zamykaniu polaczenia : "+ owner);
ex.printStackTrace();
}catch(NamingException ex){
System.out.println("Blad JNDI przy zamykaniu polaczenia "+owner);
}
}
/* GETTERY i SETTERY */
public String getOwner() {
return owner;
}
public void setOwner(String owner) {
this.owner = owner;
}
public ClientsContainer getContainer() {
return container;
}
public void setContainer(ClientsContainer container) {
this.container = container;
}
public String getDestination() {
return destination;
}
public void setDestination(String destination) {
this.destination = destination;
}
/* ----------------- */
client.xhtml
<h:body style="background-color: #99ff66">
<h:outputStylesheet name="css/default.css" />
<h:form id="form" >
<p:outputPanel id="panel" >
<h:panelGrid columns="2" cellpadding="5" id="startPanel" rendered="#{client.startPanelVisible}" >
<h:outputLabel value="Nazwa" for="nick" style="font-weight: bold;" />
<p:inputText value="#{client.nick}" id="nick" />
<p:commandButton value="Rozpocznij" actionListener="#{client.startChat()}" process="@this,nick" update="panel" id="start"/>
</h:panelGrid>
<p:panel header="Wiadomości" id="chatboxPanel" rendered="#{client.chatPanelVisible}">
<h:panelGroup id="chatbox">
<ui:repeat value="#{client.container.messages}" var="item">
#{item}
<br/>
<p:separator/>
</ui:repeat>
<p:poll interval="1" update="chatbox" />
</h:panelGroup>
</p:panel>
<p:outputPanel id="chatPanel" rendered="#{client.chatPanelVisible}">
<p:inputText value="#{client.message}"
styleClass="messageInput"
style="margin-top: 5px;width: 310px;"
/>
<p:commandButton value="Send"
actionListener="#{client.send()}"
oncomplete="$('.messageInput').val('').focus()"
/>
<p:commandButton actionListener="#{client.closeChat()}" process="@this" update="panel"
value="Close"
/>
</p:outputPanel>
</p:outputPanel>
</h:form>
</h:body>
operator.xhtml
<h:body>
<h:outputStylesheet name="css/defaultOperator.css" />
Zalogowany jako : #{logOn.operator.firstName} #{logOn.operator.lastName}
<p:separator />
<h:form id="form" prependId="false">
<p:selectOneButton value="#{operator.viewController.selectedPanel}" style="margin-bottom: 10px;" >
<f:selectItem itemValue="0" itemLabel="Pierwszy" />
<f:selectItem itemValue="1" itemLabel="Kod na stronę" />
<f:selectItem itemValue="2" itemLabel="Czaty" />
<p:ajax event="change" update="form" />
</p:selectOneButton>
<p:outputPanel id="panel0" rendered="#{operator.viewController.getVisible(0)}">
</p:outputPanel>
<p:outputPanel id="panel1" rendered="#{operator.viewController.getVisible(1)}">
<p:fieldset styleClass="fieldset">
<h:panelGrid columns="1" >
<h:outputText value="Wklej ten kod w sekcji head strony" />
<h:inputTextarea id="trackingCode" readonly="true" rows="10" cols="40" value="#{operator.tr}"/>
</h:panelGrid>
</p:fieldset>
</p:outputPanel>
<p:outputPanel id="panel2" rendered="#{operator.viewController.getVisible(2)}" autoUpdate="true">
<p:outputPanel styleClass="left">
<p:panel header="Status" styleClass="statusBox">
<p:commandButton actionListener="#{operator.startChat()}" value="Połącz" />
<p:commandButton actionListener="#{operator.closeChat()}" value="Rozłącz" />
</p:panel>
<p:panel header="Oczekujący klienci" styleClass="clientBox">
<p:outputPanel id="clientPanel" >
<ui:repeat value="#{operator.container.notServiced}" var="item" >
<h:outputText value="#{item.clientName}" />
<p:commandButton styleClass="startbtn" value=">>" actionListener="#{operator.startWithClient(item.clientName)}" />
<p:separator />
</ui:repeat>
</p:outputPanel>
</p:panel>
</p:outputPanel>
<p:panel header="Aktywne chaty" id="activeChats" styleClass="chatTabs">
<p:tabView id="tabView" value="#{operator.container.serviced}" var="item">
<p:tab id="clientTab" title="#{item.clientName}" >
<p:outputPanel >
<p:panel header="Wiadomości" id="chatboxPanel" styleClass="messageBox">
<p:outputPanel id="chatbox" >
<ui:repeat value="#{item.messages}" var="msg">
<b>#{msg.from} : </b>#{msg.text}
<p:separator />
</ui:repeat>
</p:outputPanel>
</p:panel>
<p:poll interval="1" update="chatbox" />
</p:outputPanel>
<p:outputPanel id="chatPanel" >
<p:inputText value="#{item.currentMessage}"
styleClass="messageInput"
style="margin-top: 5px;width: 310px;"
/>
<p:commandButton value="Send"
actionListener="#{operator.send(item.clientName,item.currentMessage)}"
oncomplete="$('.messageInput').val('').focus()"
styleClass="button"
/>
</p:outputPanel>
</p:tab>
</p:tabView>
</p:panel>
</p:outputPanel>
</h:form>
</h:body>
--------------------------------------------------------------
Reply to this message by going to Community
[https://community.jboss.org/message/796973#796973]
Start a new discussion in EJB3 at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&con...]
13 years, 2 months
[jBPM] - Could not connect task client: on ip: 127.0.0.1 - port: 5153
by sravanireddy
sravanireddy [https://community.jboss.org/people/sravanireddy] created the discussion
"Could not connect task client: on ip: 127.0.0.1 - port: 5153"
To view the discussion, visit: https://community.jboss.org/message/781844#781844
--------------------------------------------------------------
09/12 12:35:16,955[main] ERROR service.hornetq.HornetQTaskClientConnector.connect - Unable to connect to server using configuration org-hornetq-core-remoting-impl-netty-NettyConnectorFactory?port=5153&host=127-0-0-1
org.jbpm.workflow.instance.WorkflowRuntimeException: [com.sample.evaluation:1 - Self Evaluation:2] -- Could not connect task client: on ip: 127.0.0.1 - port: 5153
at org.jbpm.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:132)
at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerNodeInstance(NodeInstanceImpl.java:279)
at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerCompleted(NodeInstanceImpl.java:238)
at org.jbpm.workflow.instance.node.StartNodeInstance.triggerCompleted(StartNodeInstance.java:49)
at org.jbpm.workflow.instance.node.StartNodeInstance.internalTrigger(StartNodeInstance.java:41)
at org.jbpm.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:126)
at org.jbpm.ruleflow.instance.RuleFlowProcessInstance.internalStart(RuleFlowProcessInstance.java:35)
at org.jbpm.process.instance.impl.ProcessInstanceImpl.start(ProcessInstanceImpl.java:194)
at org.jbpm.workflow.instance.impl.WorkflowProcessInstanceImpl.start(WorkflowProcessInstanceImpl.java:309)
at org.jbpm.process.instance.ProcessRuntimeImpl.startProcessInstance(ProcessRuntimeImpl.java:170)
at org.jbpm.process.instance.ProcessRuntimeImpl.startProcess(ProcessRuntimeImpl.java:140)
at org.drools.common.AbstractWorkingMemory.startProcess(AbstractWorkingMemory.java:1098)
at org.drools.impl.StatefulKnowledgeSessionImpl.startProcess(StatefulKnowledgeSessionImpl.java:320)
at com.sample.ProcessTest.main(ProcessTest.java:35)
Caused by: java.lang.IllegalArgumentException: Could not connect task client: on ip: 127.0.0.1 - port: 5153
at org.jbpm.process.workitem.wsht.GenericHTWorkItemHandler.connect(GenericHTWorkItemHandler.java:158)
at org.jbpm.process.workitem.wsht.GenericHTWorkItemHandler.executeWorkItem(GenericHTWorkItemHandler.java:180)
at org.drools.process.instance.impl.DefaultWorkItemManager.internalExecuteWorkItem(DefaultWorkItemManager.java:70)
at org.jbpm.workflow.instance.node.WorkItemNodeInstance.internalTrigger(WorkItemNodeInstance.java:107)
at org.jbpm.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:126)
... 13 more
--------------------------------------------------------------
Reply to this message by going to Community
[https://community.jboss.org/message/781844#781844]
Start a new discussion in jBPM at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&con...]
13 years, 2 months