Questions for the 3th Airhacks Q&A Live [June, 2nd, 6 P.M. CET]

  1. Performance impact of Remote EJBs Gregor
  2. How would this architecture fit with multiple modules and cross-cutting concerns? Wayne Riesterer
  3. Isn't it a better way to structure apps by splitting the elements vertically instead of horizontally? I mean stuff related to something like Blog shoud reside in the Blog package, everything is package private except interfaces and entities? noherczeg
  4. Could you maybe elaborate your choice of Mockito and other tools? I currently come at a point where it could actually make sense to start using these, but most of the "A vs B" threads are outdated (like 2 years old) Tran Minh Do
  5. What problems or benefits can I have running a java ee 6 application server on a java 7 VM? Can I use for example try-with-resources statement, or switch case with strings? (email question)
  6. How should someone make an EE application configurable during runtime? Is there a 'standardized' way (e.g JMX or JAX-RS) @DXTR66
  7. developing Swing client wth EJB backend would you include deployment unit (client/server) in the package name? @michaelvitz
  8. AtInject is even more magic. Package private and cdi fails at runtime instead of compile time. Bad for novices on team. #airhacks @KarlKilden
  9. [...] links inside root resources?Thanks #airhacks Greetings from bcn @AdamBien @jllachf
  10. Why the package name 'business'? It seems redundant because the entire application is a business app. Please give examples of other packages that might be created at the same level of 'business'. Patrick Gartner
  11. What do you generally see as the potential problems when components call each other across different run time environments like this (jee->spring)? Is it a bad idea and should we just stick with pure Spring? Jørgen Ringen
  12. What are the best practices to avoid naming conflicts with backing beans in JSF? Let's say there is a backing bean with @Named("booking"). And there is another backing bean @Named("booking") Reto Hotz
  13. I understand from above discussion that DTO could be more useful in distributed systems where we have to transfer data across service boundaries but I am not sure if Value Object is really a significant pattern. Enums, Constants in static class could be categorised as Value Objects. Pravin
  14. [...] is it possible to implement a httpsession with JSESSIONID via x-header and not cookie or url? (CORS, Angular, IE) #airhacks @NoNamesFree

You can also ask questions during the via twitter mentioning me: (@AdamBien) or using the hashtag: #airhacks. You can watch the Q&A session live Each first Monday of month, 6 P.M at or

See also other screencasts at: or subscribe to

In case a missed anything, just ask a question or suggest a topic as a comment to this post. See you soon!

See you at Java EE Workshops at MUC Airport or on demand and in a location very near you:!

NEW online workshop: WebStandards Igniter (online)

Airport MUC workshops: Java EE 7: Bootstrap, Effective, Architectures, Web, React and Angular, Testing and Microservices

Podcast: and newsletter:

A book about rethinking Java EE Patterns


What do you think about EE app in wf/gf cluster with remote ejbs? Client is in the cluster and calls remote ejbs which are also in cluster.

Posted by Igor on May 28, 2014 at 09:46 AM CEST #

On 6th of April I sent you this mail:

I've watched your presentation "Lean and Opinionated Java EE Applications" and find it really useful. It made my maven poms a bit shorted and confirmed some stuff I was telling my colleagues at work.
At the end of the presentation you say that you almost always have issues with the database performance and not the application server performance. Well, in my case it is the other way around.
I'm using two EJBs (A and B), both have local and remote interfaces. A is using B like this:
public class A implements InterfaceA.RemoteI, InterfaceA.LocalI {
@EJB(beanInterface = InterfaceB.LocalII.class)
B beanB;

public String getMessge() {
return beanB.getMessage();

The problem I'm seeing (using a profiler) it that the call to beanB.getMessage() itself takes about 20 ms via some com.sun.Proxy interface. I've also specified <pass-by-reference>true</pass-by-reference> for both beans in glassfish-ejb-jar.xml which took the time from 100 ms to 20 ms, but I still think that 20 ms is far to much.

Do you have any experience in this field? Where to go from here?

Best regards,

You said that would answer this in the previous Q&As.

Posted by Kovica on May 28, 2014 at 10:37 AM CEST #

On 6th April thi year I've sent you a mail "Lean and Opinionated Java EE Applications". You did say you will answer it at the next airhacks Q&A, but you didn't. Can you please include it in this Q&A?

Posted by Kovica on May 28, 2014 at 10:39 AM CEST #

Hi Adam,

do you recommend overriding/using the "equals" method given that it doesn't work when comparing (WELD-) Proxies to "real" objects?


Posted by Jürgen on June 25, 2014 at 11:19 AM CEST #

Hi Adam,

given the uncertain future of Glassfish, which Application Server(s) would you recommend today for a production environment when CDI/JPA/JTA... are required but EJBs are not needed?

best regards,

Posted by Jürgen on June 25, 2014 at 11:24 AM CEST #

Post a Comment:
  • HTML Syntax: NOT allowed
Online Workshops
...the last 150 posts
...the last 10 comments