[jboss-user] [Snowdrop] - Re: Remote EJB call (JBoss AS7/EAP6 )
Darryl Miles [https://community.jboss.org/people/dlmiles] created the discussion "Re: Remote EJB call (JBoss AS7/EAP6 )" To view the discussion, visit: https://community.jboss.org/message/832943#832943 -- I can probably assist on this, as I have front end webservers (using plain Tomcat 7.x and Spring) connecting to a backend JBoss EAP 6.1 (that happens to also use Spring). This is all using JBoss's enchanced EJB remoting. I do not fully understand how I got it to work it was a lot of trial and error. Some things I learned: * Do not have a file called jndi.properties in your web-app. This will interfere with Tomcat's own JNDI mechanism, such as for looking up JDBC connections. That needs to continue to keep working, the problem is that if you change the web-app environments config to use the alternative JNDI registry and services. Good if you are already running inside AS but not good for me, when I wanted Tomcat's regular and local JNDI to work, but have a few EJB remote beans to access another host on the network. * Next I ensure I added dependencies for org.jboss.ejb.* into my WAR project (the client access code is an enchanced EJB remoting library that supports JBoss value added additional features, this is my understand anyway) I am a maven user so this means I added (you shall need to resolve to the best versions to use for your particular version of JBoss AS / EAP / Wildfly: [code] org.jboss jboss-ejb-client org.jboss jboss-remote-naming org.jboss.marshalling jboss-marshalling-river org.jboss.sasl jboss-sasl org.jboss.xnio xnio-nio [/code] * When setting up the JndiTemplate I chose to stay away from a bean called "jndiTemplate" as I think this maybe a magic name used by default (if it exists) that also affected badly. So I configured with: [code] [/code] * The file /my-jndi.properties is a WAR toplevel level property file in the classpath, this means it src/main/resources/my-jndi.properties (in the Maven WAR project) or WEB-INF/classes/my-jndi.properties in the packaged WAR. * In this file I have a single active line: java.naming.factory.url.pkgs=org.jboss.ejb.client.naming (it is my limited understanding, this overrides the default client implementation to instead use the JBoss enchanced EJB client not the JRE one, it is the JBoss enchancements that understand the configuration variable you are trying to set in the JNDI context environment.) * I chose to configure each use of a remote EJB with xmlns:jee=" http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee"; and xsi:schemaLocation=" http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee.xsd http://www.springframework.org/schema/jee/spring-jee.xsd";, * This means I used modify this example to suit. My EJB was inside an EAR all using Maven to manage the project. The jndi-name is the fully qualified one you shall find emitted by JBoss AS / EAP / WildFly when it deploys the EJB with server logging enabled. The use of ${ejbReference.earVersion} is some matter concerning a difference between testing and production environments in the as the item was versioned. [code] [/code] * Now we configure the JBoss enchanced EJB client part in the WAR property file jboss-ejb-client.properties (this file is magically looked for by the JBoss code). Between devel (your local system), test (your testing platform) and live (the production environment) you tweat the 'remote.connections' and 'remote.clusters' lines, obviously you should ideally remove all unused/unrequired credentials from the file that are not relevant to the environment in which you deploy the config. My understanding is that port 4447 is the enchanced JBoss EJB remoting socket (which is not the standard port number for EJB) In this file the specialized properties you are trying to configure can be setup (only JBoss enchanced EJB client codes look at this) : [code] # # Not sure which things in this file are actually used. ## endpoint.name=client-endpoint #endpoint.create.options= remote.connectionprovider.create.options.org.xnio.Options.SSL_ENABLED=false #remote.connections=devel remote.connections=test #remote.connections=live remote.connection.devel.host=127.0.0.1 remote.connection.devel.port=4447 remote.connection.devel.username=myusername remote.connection.devel.password=myPaSsWoRD123456 remote.connection.test.host=10.123.52.87 remote.connection.test.port=4447
[jboss-user] [Snowdrop] - Re: Instructions on how to build snowdrop project
Darryl Miles [https://community.jboss.org/people/dlmiles] created the discussion "Re: Instructions on how to build snowdrop project" To view the discussion, visit: https://community.jboss.org/message/807308#807308 -- Great information. I do no use the part and instead in step 5 run the command as `mvn -Pglobal-repos install` this was all my other projects are not affected. -- Reply to this message by going to Community [https://community.jboss.org/message/807308#807308] Start a new discussion in Snowdrop at Community [https://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2082] ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [Snowdrop] - Re: Snowdrop and JBoss AS 7.2.0
Darryl Miles [https://community.jboss.org/people/dlmiles] created the discussion "Re: Snowdrop and JBoss AS 7.2.0" To view the discussion, visit: https://community.jboss.org/message/807104#807104 -- Is this the same issue as https://issues.jboss.org/browse/SNOWDROP-66 https://issues.jboss.org/browse/SNOWDROP-66 I just created concerning EAP 6.1 ? Is it possible to make the codebase support the previous API and auto-detect transparently ? This way there is no breakage or special caveats about having the correct version of SNOWDROP for the correct AS. The latest version would continue to work on AS7 and EAP6 series for all users. Otherwise wouldn't this be a major version number change for the SNOWDROP project? -- Reply to this message by going to Community [https://community.jboss.org/message/807104#807104] Start a new discussion in Snowdrop at Community [https://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2082] ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [Snowdrop] - Re: EAP6 + Snowdrop compatible?
Darryl Miles [https://community.jboss.org/people/dlmiles] created the discussion "Re: EAP6 + Snowdrop compatible?" To view the discussion, visit: https://community.jboss.org/message/807090#807090 -- Any chance of that updated release, your comment indicates that 2.0.4.Final is not recent enough for using with EAP 6.1 implying that 2.0.5.Final will be needed. What is required to work with Spring Framework 3.2.2.RELEASE I have created a module (moving the spring-asm which has been wrapped into spring-core now http://www.springsource.org/node/3654 http://www.springsource.org/node/3654 ). Also is there any harm to be adding: spring-aspects spring-jdbc spring-orm spring-tx and spring-webmvc to my own module.xml -- Reply to this message by going to Community [https://community.jboss.org/message/807090#807090] Start a new discussion in Snowdrop at Community [https://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2082] ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [Snowdrop] - Re: Newbie question about Spring integration
Darryl Miles [http://community.jboss.org/people/dlmiles] created the discussion "Re: Newbie question about Spring integration" To view the discussion, visit: http://community.jboss.org/message/615955#615955 -- It would good for JBoss to write up some full and clear documentation covering all the features of their Class Loading mechanisms. I have read a number of snippets over the time of AS5, AS6 and now AS7 that claim there is a new mix of ideas on the topic and that JBoss software is the best. However there does not seem to be information to back up this claim that is in the form of full and complete documentation covering all possible features. This is something that at least Spring Framework has going well for itself. The quality and completeness of the documentation covering all the features makes it one of the best open-source products there is. If anything I'd like to see the JBoss AS core have as good technical a documentation as say Hibernate does. The quick-start, pet-clinic, admin-guide are all great but where is the "reference manual" that covers all possible features from A to Z ? What I as a user wants to know is, if I want access to some of the hybrid JBoss AS specific features (that may or may not be part of any JSR) we need to know about them all to be trying them, blog about them, suggesting revisions and patches to them, etc... no documentation = smaller eco system So while AS7 claims to have re-written the book on class loading in my opinion at this time until a full set of documentation about that alone is written, this sound bite is nothing more than clever marketing and hype, just like it seems to have been when a similar claim was made about AS6. It is no wonder that a thread request like the OP here goes unanswered for over a month. We're sorry but the great JBoss AS class loader is not documented well enough maybe as a solution I can offer you "try to reduce the number of poorly documented open-source parts from your project." -- Reply to this message by going to Community [http://community.jboss.org/message/615955#615955] Start a new discussion in Snowdrop at Community [http://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2082] ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss Tools] - Re: 64 bit xulrunner - has anyone got one, or detailed steps to build one?
Darryl Miles [http://community.jboss.org/people/dlmiles] created the discussion "Re: 64 bit xulrunner - has anyone got one, or detailed steps to build one?" To view the discussion, visit: http://community.jboss.org/message/613355#613355 -- Would the QtWebkit API be suitable for use ? http://doc.qt.nokia.com/4.7-snapshot/qtwebkit.html http://doc.qt.nokia.com/4.7-snapshot/qtwebkit.html Is the QWebElement class and API what you need and mean ? Are you looking to manipulate the HTML element markup via DOM ? Are you looking to manipulate the browser context from JavaScript execution from inside the page ? Is it straightforward enough in Eclipse to start a worker/helper process which can share windows handles to provide a seamless IDE (a bit like how Chrome uses processes per tab and Firefox now puts Flash in a worker process) ? I believe the Qt suite is able to run across all the desired platforms, Linux, Windows and MaxOSX all in 32bit and 64bit forms. Hopefully I'll have some Maven releases out to allow easier consumption and some Eclipse plugins to follow to build work on top of. -- Reply to this message by going to Community [http://community.jboss.org/message/613355#613355] Start a new discussion in JBoss Tools at Community [http://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2128] ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [Snowdrop] - Re: AS6 & Snowdrop2 multiple queries
Darryl Miles [http://community.jboss.org/people/dlmiles] created the discussion "Re: AS6 & Snowdrop2 multiple queries" To view the discussion, visit: http://community.jboss.org/message/594509#594509 -- The jndiPath for earApplicationContext, jpaApplicationContext and ejbApplicationContext were deployed by spring.deployer. They have configured a parent/child relationship, with the EAR being toplevel, the JPA and EJB being direct children of the EAR. However you can see parent/parentBeanFactory are null. The warApplicationContext i delpoyed by the standard spring WAR . JBoss AS spring.deployer did not see or touch it. I have never been able to make it see it. You can see the warApplicationContext not bound to JNDI but clearly exists when you look it up via normal spring means from inside the WAR. The WAR is inside the EAR. The Java code was executed for a webpage inside the WAR and the output printed. The whole EAR was deployted to JBoss AS 6. -- Reply to this message by going to Community [http://community.jboss.org/message/594509#594509] Start a new discussion in Snowdrop at Community [http://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2082] ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [Snowdrop] - Re: AS6 & Snowdrop2 multiple queries
Darryl Miles [http://community.jboss.org/people/dlmiles] created the discussion "Re: AS6 & Snowdrop2 multiple queries" To view the discussion, visit: http://community.jboss.org/message/594508#594508 -- InitialContext ctxt; try { ctxt = new InitialContext(); NamingEnumeration bindings = ctxt.listBindings((String)""); while(bindings.hasMore()) { Binding b = bindings.next(); sb.append(";" + b.toString() + "\n"); } String[] jndiPathList = { "earApplicationContext", "jpaApplicationContext", "ejbApplicationContext", "warApplicationContext", "//Helper" }; for(String jndiPath : jndiPathList) { //String jndiPath = "ejbApplicationContext"; //jndiPath = "jpaApplicationContext"; //jndiPath = "earApplicationContext"; try { Object o; if(jndiPath.equals("//Helper")) { javax.servlet.ServletContext sc = WicketApplication.get().getServletContext(); o = WebApplicationContextUtils.getWebApplicationContext(sc); } else { o = ctxt.lookup(jndiPath); } sb.append(">>> jndiPath=" + jndiPath + "\n"); sb.append(">>> type=" + ((o != null)? o.getClass().getName() : "unknown") + "\n"); sb.append(">>> toString=" + ((o != null) ? o.toString() : "null") + "\n"); BeanFactory bf = (BeanFactory)o; ApplicationContext ac = (ApplicationContext)bf; sb.append(">>> getId=" + ac.getId() + "\n"); sb.append(">>> displayName=" + ac.getDisplayName() + "\n"); sb.append(">>> parent=" + ac.getParent() + "\n"); sb.append(">>> parentBeanFactory=" + ac.getParentBeanFactory() + "\n"); } catch(NameNotFoundException e) { sb.append(">>> jndiPath=" + jndiPath + "\n"); sb.append(">>> NameNotFoundException=" + e.getMessage() + "\n"); } //sb.append(">>> " + ac. + "\n"); sb.append("END\n"); //bf = (BeanFactory) applicationContext; } } catch (NamingException e) { // TODO Auto-generated catch block e.printStackTrace(); } Returns data: ;UserTransactionSessionFactory: $Proxy102:org.jboss.invocation.unified.interfaces.UnifiedInvokerProxy@5872ee46 ;UUIDKeyGeneratorFactory: org.jboss.ejb.plugins.keygenerator.uuid.UUIDKeyGeneratorFactory:org.jboss.ejb.plugins.keygenerator.uuid.UUIDKeyGeneratorFactory@2ffd6b29 ;com.domain.ear: org.jnp.interfaces.NamingContext:org.jnp.interfaces.NamingContext@53e7ec65 ;HiLoKeyGeneratorFactory: org.jboss.ejb.plugins.keygenerator.hilo.HiLoKeyGeneratorFactory:org.jboss.ejb.plugins.keygenerator.hilo.HiLoKeyGeneratorFactory@76da70d4 ;SecureDeploymentManager: org.jnp.interfaces.NamingContext:org.jnp.interfaces.NamingContext@1f5105ec ;SecureManagementView: org.jnp.interfaces.NamingContext:org.jnp.interfaces.NamingContext@5bd904 ;DeploymentManager: org.jboss.aop.generatedproxies.AOPProxy$4:org.jboss.aop.generatedproxies.AOPProxy$4@12e9aaf5 ;XAConnectionFactory: org.hornetq.jms.client.HornetQConnectionFactory:Reference Class Name: org.hornetq.jms.client.HornetQConnectionFactory Type: HornetQ-CF Content: [B@e0495cb ;persistence.unit:unitName=com.domain.ear.ear: org.jnp.interfaces.NamingContext:org.jnp.interfaces.NamingContext@4f06499d ;persistence.unit:unitName=jboss-ejb3-timerservice-mk2.jar#timerdb: org.hibernate.impl.SessionFactoryImpl:Reference Class Name: org.hibernate.impl.SessionFactoryImpl Type: uuid Content: 7c0ac58c-5bca-469a-9fc0-69cd1d690f02 ;ProfileService: org.jboss.aop.generatedproxies.AOPProxy$2:org.jboss.aop.generatedproxies.AOPProxy$2@19b8db54 ;jpaApplicationContext: org.jboss.spring.factory.NamedXmlApplicationContext:Reference Class Name: org.jboss.spring.factory.NamedXmlApplicationContext Type: nns Content: jpaApplicationContext ;SecureProfileService: org.jnp.interfaces.NamingContext:org.jnp.interfaces.NamingContext@25cb0af3;queue: org.jnp.interfaces.NamingContext:org.jnp.interfaces.NamingContext@353beae7 ;UserTransction: org.jboss.tm.usertx.client.ClientUserTra
[jboss-user] [Snowdrop] - Re: AS6 & Snowdrop2 multiple queries
Darryl Miles [http://community.jboss.org/people/dlmiles] created the discussion "Re: AS6 & Snowdrop2 multiple queries" To view the discussion, visit: http://community.jboss.org/message/594497#594497 -- First thanks for your reply. 1) Yes I agree from looking at the spring.deploy codebase (and testing by creating deliberate failure scenarios, like using the wrong label) that the parent/child must be getting setup at the time that code runs. But accoridng to my code inside the WAR which uses JNDI and examines the WAR ApplicationContext those settings do not stick, something is nulling the parent/parentBeanFactory out. I create this WAR code after my posting to this thread, so I shall paste the code and output in a new reply shortly. 2) Through trial-and-error/testing I found that the spring.deploy does not look inside the WAR. It was my understanding the JBoss VFS could see descriptors nested inside a mix of dirs/JARs, so JARs inside JARs are transparent from a scan for a valid deployment descritpor and for spring this means my WEB-INF/spring-context/warApplicationContext-spring.xml _SHOULD_ match and spring.deploy should see it. But my testing indicates that even so it does not attempt to deploy it. In some ways I am not expecting to but I could not see how it was being skipped. My EAR has an exploded EJB and WAR directory which makes it even more apparent, since even without JBoss VFS code a file-scan would find it. So getting back to the question "Should a certain naming convention not be used" ? This means the file $JBOSS_HOME/server/default/my.domain.ear/my.domain.war/WEB-INF/classes/spring-context-warApplicationContext-spring.xml being a filre on the filesystem I would have expected it to be found by the spring.deployer. Since I know the Instantiaion(false) does not work. I wondered why it was being missed by the JBoss VFS code, if it is meant to be able to see descriptors from inside nested deloyments. This would make using /WEB-INF/classes/spring-context/warApplicationContext-spring.xml a _BAD_ choice of filename. Changing the -spring.xml would be a good chocie. However it appears to make no difference, since it is never looked at by spring.deployer so why is this ? 3) I'd like to come back to this point at a later date. After establishing my better understanding of the other points. 4) beanRefContext.xml I need to understand this better, I have not been using it in any projects I've created so far. 5) This is easy to observe, simply prepend the BeanFactory(label) with spring/ making it BeanFactory(spring/label) this used to bind to JNDI hierarchically. I'll try to knock out a simple EAR for JIRA later this week. Last) http://docs.redhat.com/docs/en-US/JBoss_Web_Framework_Kit/1.1/html/Snowdrop_Sportsclub_Example/index.html http://docs.redhat.com/docs/en-US/JBoss_Web_Framework_Kit/1.1/html/Snowdrop_Sportsclub_Example/index.html this looks to be a relevant URL. -- Reply to this message by going to Community [http://community.jboss.org/message/594497#594497] Start a new discussion in Snowdrop at Community [http://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2082] ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss Tools] - Re: Maven - WEB-INF/lib libraries
Darryl Miles [http://community.jboss.org/people/dlmiles] created the discussion "Re: Maven - WEB-INF/lib libraries" To view the discussion, visit: http://community.jboss.org/message/594200#594200 -- With regards to webappDirectory the default project layout with Maven for a WAR is to have src/main/webapp/WEB-INF/lib with src/main/webapp being your top level directory. The WebContent/ is an ECLIPSEism. Now it woule be good if the Maven plugin for Eclipse (m2e) could relocate (virtually) and link the src/main/webapp tree back at the top level of the project for easy access, like Java Source folders do. So if you are messing with the webappDirectory setting (by removing it) in maven-war-plugin then be aware of the defaults. -- Reply to this message by going to Community [http://community.jboss.org/message/594200#594200] Start a new discussion in JBoss Tools at Community [http://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2128] ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [Snowdrop] - AS6 & Snowdrop2 multiple queries
Darryl Miles [http://community.jboss.org/people/dlmiles] created the discussion "AS6 & Snowdrop2 multiple queries" To view the discussion, visit: http://community.jboss.org/message/593962#593962 -- I am using JBoss AS6 with Snowdrop 2.0.0-MP1-SP1, I have updated the spring implementation with 3.0.5.RELEASE (although I wish either that all JARs were named with the version "spring-core-3.0.5.RELEASE.jar", yes you can get them like that from Maven, or you at least put them in a directory of their version "3.0.5.RELEASE/spring-core.jar", which might lend itself to OSGi based version selection for AS7). I have a number of queries. My project layout is a straight forward EAR with a JPA jar, with a EJB jar, with a WAR. EAR has META-INF/earApplicationContext-spring.xml JPA has META-INF/jpaApplicationContext-spring.xml EJB has META-INF/ejbApplicationContext-spring.xml WAR has WEB-INF/classes/spring-context/warApplicationContext-spring.xml and WEB-INF/classes/spring-servlet/servlet-spring.xml Each of these has a http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/beans/spring-beans-3.0.xsd and a element with the BeanFactory=(label) and ParentBeanFactory=(label). I have verified in JNDI the name of the bindings for the (label) parts. these are the files names without -spring.xml suffix like "earApplicationContext". Problem 1) However I have not been able to verify the parent/child relationships are being correctly setup by spring.deployer. I can see in org.jboss.spring.factory.NamedXmlBeanDefinitionParser the new BeanFactory get #setParentBeanFactory() called. There is also a element variable Instantiation(true) which by default is set to false (which I think should be true) but I can't see how or where it is used by the spring.deployer. Problem 2) How is the WAR handled, should both the outside ApplicationContext and the child servlet's be setup in the traditional (WAR only) way and using the and settings in web.xml. Since the JBoss VFS can see inside of the EAR and all the classpaths, is the WAR packaged correctly or should a certain naming convention not be used. Problem 3) If my EAR was a little more complex. How is it possible to control the order in which both JBoss AS brings up each JAR (so we're talking JPA, EJB and regular JARs) all inside EAR. Does this order also affect how and when SNOWDROP creates the parent/child relationships ? To me it would seem that SNOPDROP should scan for all possible ApplicationContext's to instate just the skeleton factory itself (no beans inside yet), it should create them all and name each. Then once all are created another pass to fixup the parent/child relationship. Then on another pass walking the BeanFactory top-down it would then process the non-lazy beans within. Problem 4) Does BeanFactoryLocator work within an EAR context like (I think) it should. When I query it, I find it empty. I believe this mechanism could be used to allow 2 sibling BeanFactorys in a hierarchy to find each other. There is some overlap with JNDI in this function but which this is Spring's own method. Problem 5) I'm sure older version of SNOPWDROP allowed arbitrary naming and bindings to JNDI, such as "spring/myenterprise-mymodule-ear" (note the use of the "spring/" path prefix), this does not seem to be allowed anymore. What/why is the change of policy on this ? Last question) Is there any suitably complex example of multiple ApplicationContexts inside different JEE deployables all wrapped in an EAR to demonstrate/test such functionality ? -- Reply to this message by going to Community [http://community.jboss.org/message/593962#593962] Start a new discussion in Snowdrop at Community [http://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2082] ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user