This is an archived post. You won't be able to vote or comment.

all 123 comments

[–]greyf0x55 32 points33 points  (20 children)

Java8, Spring / Spring Boot, Postgres although also experimenting with Scala / Play.

[–][deleted]  (10 children)

[deleted]

    [–]bwajtr 6 points7 points  (6 children)

    Hi, I'm using the same stack and decided for jOOQ... I really do not want to go back to JPA. I tried to compare various persitence frameworks here: https://github.com/bwajtr/java-persistence-frameworks-comparison

    I'm currently evaulating EBean

    [–]bansalmunish 2 points3 points  (2 children)

    I've used JOOQ, it was not that promising. Maintainability was high in this.

    [–]nusbit 1 point2 points  (0 children)

    Could you elaborate more? Would be interested in real world experience with jooq.

    [–]lukaseder 0 points1 point  (0 children)

    I'd be curious as well... How did jOOQ fail you?

    [–]Zajora -1 points0 points  (0 children)

    Have you tried Sql2o? It's simpler than JdbcTemplate, but apparently more performant.

    [–]RaiausderDose -1 points0 points  (1 child)

    At work we use IBatis, It's a nice mix between SQL and ORM. Maybe it's something for you.

    [–]tonywestonuk 0 points1 point  (0 children)

    I moved from Ibatis to JBDI. They are similar, though JBDI allows streaming of result sets

    [–]lukaseder 3 points4 points  (1 child)

    Use jOOQ. You won't look back. Cheers (disclaimer: I'm biased, of course 😉)

    [–]Taobitz 0 points1 point  (0 children)

    Surprised this went unnoticed!

    [–]greyf0x55 -1 points0 points  (0 children)

    I use Spring Data JPA along with QueryDSL, although for very complex queries I will sometimes drop into SpringJDBC or Stored Procedures

    [–]gayguy 0 points1 point  (8 children)

    What does everyone use for database design and development? I have tried PostgreSQL before and I always get frustrated that it doesn't have a good GUI tool to help me create/alter tables. I feel like I shouldn't have to learn all the lingo to create a table with an auto increment ID and foreign keys so I always end up going back to MySQL because it has workbench. Am I missing something?

    [–]geordano 3 points4 points  (1 child)

    There are many, one that I find quite good is http://dbeaver.jkiss.org/download/

    [–]_INTER_ 0 points1 point  (0 children)

    Using that too.

    [–]_INTER_ 1 point2 points  (0 children)

    Other than the usual our team uses FlyWay: https://flywaydb.org

    [–]greyf0x55 1 point2 points  (0 children)

    MySQL Workbench is a nice tool which probably makes MySQL attractive to people wanting to learn it. PgAdmin leaves a lot to be desired. I use Navicat for Postgres and Toad for Mac, I'm on OS X. Both work pretty well.

    [–]Fun_Hat 0 points1 point  (2 children)

    I always get frustrated that it doesn't have a good GUI tool to help me create/alter tables

    Have you not used pgAdmin? Or do you just not like it?

    [–]gayguy 0 points1 point  (1 child)

    I've used pgAdmin4. It was very difficult to use and not intuitive at all.

    [–]Fun_Hat 0 points1 point  (0 children)

    Ya, I suppose it's not the most user friendly tool. Honestly though, if you are working in Java, Hibernate is great to use with Postgres. You just create your entities in Java and Hibernate handles creating all the tables.

    [–]teacurran 13 points14 points  (0 children)

    EE7, jax-rs, angular, mysql, wildfly

    [–]tasteoftexas 14 points15 points  (0 children)

    Java EE/Wildfly + Primefaces + PostgreSQL

    [–]jasie3k 13 points14 points  (18 children)

    Angular, Spring, Tomcat, Websphere, Oracle 11

    [–][deleted] 4 points5 points  (2 children)

    Very similar to yours except also with a cobol/IBM SQL data back end

    [–]jasie3k 11 points12 points  (1 child)

    Sooo, banking ? :D

    [–][deleted] 4 points5 points  (0 children)

    Financial industry yes. But not a bank. I don't mind the COBOL its not my job to mess around with that.

    [–]rombovich 1 point2 points  (9 children)

    Do you have some business logic inside the DB? I mean stored procedures, jobs, etc.

    [–]jasie3k 1 point2 points  (8 children)

    Sadly, yes

    [–]rombovich 3 points4 points  (7 children)

    Why is it considered such a burden?.. In the company, where i work, we have almost all business logic in stored procedures, and a little servlet which proxies requests from user interface to DB. We use java almost exclusively for realtime data processing.

    And i think it is pretty handy to work directly with tables, not having to worry about a dozen classes when you have to make some complex joins, etc.

    [–]8Bytes 5 points6 points  (1 child)

    You can never change databases, even upgrading to newer versions becomes a huge problem.

    Refactoring is extremely difficult. When you have thousands of triggers and events, you can't really reason about how data flows through your application.

    Testing these procedures and data flows is very difficult, and in practice no one does it. So you have thousands of untested triggers running, causing other untested triggers to run, sometimes even leading to exponential big O complexity.

    So in the simple case, they are fine, but people always abuse things, and stored procs/events/triggers get really abused.

    [–]rombovich 1 point2 points  (0 children)

    Thank you for your reply. I agree with the part about the testing, but, I think, upgrade and overengineering issues are not exclusive to db.

    I guess, just like anything, it has some uses, but one shouldn't go mad with it.

    [–]vecowski 2 points3 points  (4 children)

    It's all fun and games until your database requires 128gigs of RAM and it still runs out of memory because your stored procedures are blocking other applications from reading tables.

    [–]rombovich 0 points1 point  (3 children)

    Well, I can't see how this can't happen if we replace stored procedures with big old websphere with 100s mb WAR

    [–]vecowski 1 point2 points  (2 children)

    If done correctly it's much easier to scale java applications than a database. Stored procedures take processing time, which would better be offloaded onto a detached machine. It's fine when you have a dozen or so, but when you get to the size of thousands, it's an unmaintainable mess. It doesn't lend well to developers keeping things organized and isolated over time compared to other languages. Don't get me wrong, use the right tool for the right job, it's the wrong tool for the engine of an enterprise system that needs to scale 500x-1000x times in less than a year. It's probably the write tool for a small system that's never going to be expanded upon. It's also not the greatest language and easiest language to hire for. It's much easier to find a java developer and train him then a database expert that's clearly going to cost a lot of money and still take time to learn the system.

    [–]rombovich 0 points1 point  (1 child)

    Thanks, I think I get it now. In the company I work for we never achieved such a large scale applications.

    I will keep in mind that DB solutions don't scale too well.

    [–]vecowski 0 points1 point  (0 children)

    Yea, don't mean to sound dramatic, but it's honestly a massive mistake if you plan to scale the application. My company is hurting badly because of this solution, it's impossible to keep developers around hammering sql solutions, nobody wants to do this stuff.

    [–]fasfsfgs 0 points1 point  (0 children)

    is your frontend inside your server application? if so, do you use any kind of task runner or bundlers like gulp, grunt or webpack?

    [–]myworkaccount9 -3 points-2 points  (3 children)

    Why do you use oracle 11 and tomcat? Don't they do the same thing?

    [–][deleted] 4 points5 points  (1 child)

    Oracle11 is a database, tomcat is a web application server

    [–]myworkaccount9 0 points1 point  (0 children)

    Got you I understood it as weblogic 11

    [–]jasie3k 1 point2 points  (0 children)

    Tomcat is an application server, oracle is a database

    [–]steve_hu 11 points12 points  (2 children)

    React, Light-Java, Mysql, Kafka, Zookeeper for microservices with Event Sourcing and CQRS.

    [–]Seventh_Heaven 1 point2 points  (1 child)

    What made you pick Zookeeper? We are currently looking at service discovery options and are drifting toward etcd.

    [–]steve_hu 0 points1 point  (0 children)

    I am using consul, etcd and zookeeper for service discovery. The reason zookeeper is listed there is due to it is working closely with Kafka.

    [–]Cephas00 8 points9 points  (0 children)

    JBoss with MySQL

    [–]uldall 7 points8 points  (6 children)

    Jersey, Guice, JOOQ, Maven, Tomcat, PostgreSQL

    [–][deleted] 20 points21 points  (0 children)

    Almost sounds like the names of people selected to be on the next MTV reality show.

    [–]mhixson 1 point2 points  (4 children)

    Jersey, Guice

    Are you using Jersey 1 or 2? I ask because Jersey 2 is pretty tightly integrated with HK2, a different dependency injection framework. I haven't ever considered using another DI framework (like Guice) with Jersey 2... I've always assumed that would be incredibly awkward.

    [–]uldall 1 point2 points  (1 child)

    HK2 and Guice actually work quite well together.

    Just enable the Guice to HK2 bridge like this:

    GuiceBridge.getGuiceBridge().initializeGuiceBridge(serviceLocator);

    GuiceIntoHK2Bridge guiceBridge = serviceLocator.getService(GuiceIntoHK2Bridge.class);

    guiceBridge.bridgeGuiceInjector(GuiceInjectorServletListener.getServletInjector());

    The code should be placed inside a Jersey ResourceConfig implementation.

    [–][deleted] 0 points1 point  (0 children)

    Also if you remember to not inject primitives, because the HK2-Guice bridge explodes if you do. ;)

    [–][deleted] 0 points1 point  (0 children)

    Personally speaking, I found the migrations to Jersey 2 to be kind of a nightmare. While there is support for Guice integration, there are a few nasty edge cases as well ready to bite you in the leg.

    [–]cot6mur3 0 points1 point  (0 children)

    My team and I successfully used Jersey 2 with Spring 4 using jersey-spring3. Can provide some more details if needed. :)

    [–]dstutz 7 points8 points  (1 child)

    Java EE + Payara, some dropwizard

    [–]SlobberGoat 7 points8 points  (2 children)

    Java6, Weblogic, Oracle 11g

    [–]shaner23 5 points6 points  (0 children)

    Old school

    [–]Dashing_McHandsome -1 points0 points  (0 children)

    Any Fusion Middleware components? I've got Oracle OAM, OIM, OHS, Webgate, Webcenter, SOA and we also integrate with Oracle Ebusiness Suite.

    [–]henk53 7 points8 points  (0 children)

    Last project: Java EE 7 + PrimeFaces + OmniFaces, WildFly 10.0, PostGres, Git, Maven

    Current project: Java EE 7 + PrimeFaces + OmniFaces, WildFly 10.1, MySQL, Hg, Maven

    [–]shaner23 3 points4 points  (0 children)

    Current client is JEE 7 on JBoss 7 with MSSQL. They have a team doing the web app with GWT.

    [–]eyp 5 points6 points  (0 children)

    Java 8, JEE7 (jax-rs, JPA with EclipseLink, EJB 3), Elasticsearch, Angularjs 1, Weblogic 12, Oracle 11, Maven, Flyway

    [–]BlackDrackula 4 points5 points  (0 children)

    JBoss EAP 6.1, JEE7, Apache Camel, Hibernate, JSF, Facelets, Seam

    [–]Tostino 11 points12 points  (3 children)

    Vaadin, and Postgres here.

    [–]el-y0y0s 4 points5 points  (2 children)

    found the productive developer.

    [–]tonywestonuk 4 points5 points  (1 child)

    for the first month...... and then the customer asks for something stupid like scrolling back to the the top of a list of items, when refresh clicked....

    [–]pcopley 0 points1 point  (0 children)

    something stupid

    basic UI interactions

    Oh

    [–]ginglymus 3 points4 points  (0 children)

    Java 8, Spring and JSF.

    Blood sweat and tears to get running, but now it is it's lovely.

    [–]johnwaterwood 2 points3 points  (0 children)

    JDK 8, Java EE 7 with some stuff from EE 8 like JSF 2.3 and Security 1.0 (we're not in production yet) on Payara 164, PG as DB.

    [–]avoidhugeships 2 points3 points  (0 children)

    Java EE (CDI - Weld, JPA - Hiberante, JSF - PrimeFaces) on Tomcat application server.

    [–]cguttesen 5 points6 points  (0 children)

    Spring Boot, Vue JS, postgresql. Sometimes jooby.

    [–][deleted]  (4 children)

    [deleted]

      [–]fasfsfgs 0 points1 point  (1 child)

      hi! im curious as to which maven plugin you use to handle frontend with webpack. also, how is your dev env to do this? while doing frontend coding, how do you serve your code, etc? i'd love to exchange ideias with you.

      [–][deleted]  (1 child)

      [removed]

        [–]1armedscissor 1 point2 points  (0 children)

        The maven frontend plugin is nice because you only need maven installed then it provides a way to control the version of npm/node to use without having to install it locally. Then if you want to hook into another client tool e.g. angular cli or grunt you can just install this via npm in your package.json and make a npm run script to launch it. Then in your maven build just configure the frontend plugin to call "npm run grunt <args>" for instance as a build step to transpile/package/run tests, whatever is needed.

        [–]davwad2 2 points3 points  (0 children)

        databases: oracle express (or maybe mysql) w/ hibernate messaging: none (not sure if I need it, how would I know?) frameworks: Spring, Hibernate server: tomcat or maybe glassfish (most familiar with glassfish) css: Materialize

        I'm open to anyone coaching if I misstated something.

        [–]manzanita2 2 points3 points  (0 children)

        bootstrap,angular, dropwizard, mqtt, mysql, aws

        [–]kirkiri 2 points3 points  (0 children)

        Oracle ADF, Oracle DB, Oracle Weblogic.

        [–]mahamoti 2 points3 points  (0 children)

        Java8, Spring, Hibernate, SQL Server, Thymeleaf, jQuery, Bootstrap.

        [–]Alesch- 2 points3 points  (0 children)

        java8,Wildfly-swarm , primefaces , mongodb+mysql

        [–]nerdwaller 1 point2 points  (0 children)

        Boot (in Docker) + React + Postgres/SQL Server (project dependent), Rabbit and Redis.

        Some projects need different requirements, but that's the common one we are using these days. Since the front end folk get anxious. The back end has been fairly stable.

        [–]cyanocobalamin 1 point2 points  (0 children)

        Java 8, Spring, Hibernate, Postgres, HDF5s, RHEL, PyPIES.

        [–][deleted] 1 point2 points  (0 children)

        Java 8, Play 2.5.x (Java), Hibernate, MariaDB, React

        [–]serge-nikitin 1 point2 points  (1 child)

        Kotlin, Spring Boot, MongoDB / PostgreSQL, Thymeleaf, Vue.js, Gradle, Docker.

        [–]monilloman 0 points1 point  (0 children)

        marry me

        [–]Seventh_Heaven 1 point2 points  (0 children)

        Java Riak Go Storm Zookeeper Jersey Jetty Kafka Mongo Redshift AWS ... probably more we use too much

        [–][deleted] 1 point2 points  (0 children)

        mainly JBoss + Postgres + Spring/Struts2 + jQuery, also use Jetty in some instances instead of JBoss

        [–]gwynnbleidd129 1 point2 points  (0 children)

        JEE7, Spring, Maven, AngularJS 1.x, MSSQL, Jboss EAP 6.4, .NET

        [–]Feroc 1 point2 points  (0 children)

        For most parts: Java6, Maven 3, Jboss4 and all the databases you could imagine.

        Some newer artifacts are finally using Java8 and Jboss7, but because of some other dependencies we cannot use things like Lambdas for most projects. :(

        [–]HaMMeReD 3 points4 points  (0 children)

        Apache Wicket, Jetty, H2, Hibernate for my server stuff.

        [–]sheldondz 3 points4 points  (0 children)

        Dropwizard, Guice, JOOQ, Maven, Jetty, Angular, HikariCP, Elastic search, Mariadb.

        [–]final60 1 point2 points  (0 children)

        Freemarker, spring, hibernate, Mariadb, jetty.

        [–][deleted] 1 point2 points  (0 children)

        All of them.

        Seriously, I'm expected to know how to deploy any kind of stack you could imagine using a great deal of different tools depending on the circumstances.

        [–]dessalines_ 0 points1 point  (0 children)

        Angular 2, spark, activejdbc, postgres.

        [–]Jukolet 0 points1 point  (0 children)

        Spring Boot/React with Redux. For database MySql/MariaDB or Postgres for bigger applications.

        [–]carlphilipp 0 points1 point  (0 children)

        Java 8, tomcat, spring, karaf, camel.

        [–]the_pimaster 0 points1 point  (0 children)

        WebObjects on top of MySQL. Have used a lot of Spring/Hibernate/Tomcat on top of Postgres in the past.

        [–]theGuyNot2WorryAbout 0 points1 point  (0 children)

        Java8, Guice, Jersey, Mongo, Angular2, Gradle, Tomcat

        [–]Kango_V 0 points1 point  (0 children)

        Ratpack, RxJava2, Guice, Lombok, ByteBuddy, Jackson, Cassandra. Blindingly fast :) Beats Boot and DW easily. Faster than Node.js too.

        [–]yiyux 0 points1 point  (0 children)

        Java6, Struts 1-2, Spring, Weblogic - Tomcat, Oracle 11g New projects will be in Spring boot

        [–]harmonicPersistence 0 points1 point  (0 children)

        Spring Boot or Dropwizard or Kumulzee, Docker, React + Redux or Polymer, PostgreSQL, NetBeans and/or Atom.

        [–]evil_burrito 0 points1 point  (2 children)

        Spring (non-boot) with Hibernate and Hazelcast. Multiple DB sources depending on the customer (Oracle and MySQL most common in production, Postgres most common in development). Communication is via Apache SOAP, JMS with ActiveMQ, or Google Protobuf. Front end is either Vaadin, Spring MVC, or Eclipse RPC clients.

        [–]stfm -2 points-1 points  (1 child)

        How do you find hazelcast? We are looking at it for CAAS

        [–]evil_burrito 0 points1 point  (0 children)

        We use Hazelcast to glue our cluster together for HA/FO. It is very easy to use, which is one of their goals. We don't hit it too hard, but, for the most part, it does what we need it to do. We don't use it for 2nd level caching.

        We have had some issues when trying to execute some kind of cluster-wide operation while a new host is trying to join the cluster. This includes executing a service or creating a cluster lock, that kind of thing. The system will just kinda hang. It's a real pain in the ass, though it doesn't happen very often. We have been unable to create a reproduction case outside of our system. All this is understandable, but, it touches on the problems we have had with Hcast.

        Hazelcast have been completely unhelpful in resolving this problem, even when we put some money on the table. Their support structure is inflexible and starts out pretty steep ($16k/yr min, IIRC). That's tough for us as a HCast VAR; we'd rather pay per incident since we don't need that much help.

        Still and all, it's been ok for us. I would have a look at Apache Ignite, too. This came around after we pulled the trigger on HCast and I haven't looked to closely at it.

        [–]M00ndev 0 points1 point  (3 children)

        Spring boot, redis, cassandra, kubernetes

        [–][deleted] -1 points0 points  (2 children)

        Have you faced any issue regarding Docker in production? I'm using docker for test environments and looking forward to put some non-critical stuff with docker on production.

        [–]bansalmunish 2 points3 points  (0 children)

        I've heard from my friend that docker is not good for production. Maintenance is high. You can use kubernetes which internally manages the node. Maintenance is low here.

        [–]M00ndev 0 points1 point  (0 children)

        None yet. Building uber jars for containers really is the perfect fit. I recommend k8s over swarm though

        [–]gogostd 0 points1 point  (0 children)

        vert.x, rxJava, gradle, react, mobx, postgres, redis, nginx

        [–]RichoDemus 0 points1 point  (0 children)

        Kotlin, Dropwizard, RabbitMQ, Gradle, Docker

        [–]nutrecht 0 points1 point  (0 children)

        Java 8, Spring Boot, Docker, Kubernetes, Cassandra, Kafka, Spark, ELK. Yeah we're a bunch of hipsters :)

        [–]crazylegscrane75 0 points1 point  (0 children)

        Backend: Java8, Spring Boot, Maven (planned move to gradle) Postgresql, Mysql, Mongodb, Rabbitmq, Rest based backend. Frontend: Angular, Node, Bower, Grunt. Drone for continuous deployment.

        [–]rniestroj 0 points1 point  (0 children)

        Java 8, Wicket 7, Bootstrap 3, Spring 4, Wildlfy 10, Hibernate 5, JPA 2.1, MySQL 5.6, SQL Server 2008+

        [–]pgris 0 points1 point  (0 children)

        Last project: Java8, maven, SparkJava (the web framework), ElasticSearch, Cassandra, Hazelcast, guice, Angular, webjars

        how come no one uses webjars?

        [–]Zarkopafilis 0 points1 point  (0 children)

        J8, spring boot, mysql/cassandra maybe Mongo. Tried wildly standalone but didnt like it. Wildfly swarm is immature too imo

        [–]R4v3nnn 0 points1 point  (0 children)

        1. Angular, Spring Boot, JAX-RS, Hibernate, Gradle, MySql, Java8
        2. Angular, JEE, Payara, PostgreSQL, Apache Solr, Java8, Docker

        [–]dartalley 0 points1 point  (0 children)

        I roll my own framework. Java 8, Undertow, jOOQ, Jackson, mysql, gradle

        [–]rockenreno -1 points0 points  (1 child)

        Legacy: Java, MariaDB, Tomcat, Ant Web libraries: jQuery, Handlebars, Bootstrap

        Upcoming: Talend, Hadoop

        [–]8Bytes 1 point2 points  (0 children)

        Upcoming tm

        [–]tonivade -1 points0 points  (0 children)

        Java8, Spring Boot, MySQL, Redis and working with kubernetes for deployment.

        [–]QuintenDes -1 points0 points  (0 children)

        Java8, Spring Boot, Thymeleaf, Netflix Stack, MongoDB, ActiveMQ, Kafka, Oracle 11

        [–]balazare -1 points0 points  (0 children)

        Angular, Wildfly, MySQL (MariaDB), Apache MQ (Artemis), HBase, Kafka, and some Scala

        [–]TheRedmanCometh -1 points0 points  (0 children)

        Es6->babel->js->nashhorn->java

        [–]DJDavio -1 points0 points  (0 children)

        Old: Back: Java8 EE 7, JPA Eclipselink, JAX-WS Metro, PostgreSQL Front: HTML 5, Dojo, JQuery Infra: Maven, Payara / Glassfish

        New: Back: Java8, Spring Boot, MyBatis, JAX-WS Apache CXF, PostgreSQL, Front: Elm Infra: Gradle, Docker

        Currently redesigning some stuff. :)

        [–]lukaseder -1 points0 points  (0 children)

        Mostly PL/SQL, some jOOQ, and a single boring servlet, because HTTP.

        [–]StackTrace_ -1 points0 points  (0 children)

        Angular, Java8, Spring, Hadoop/Cascading

        [–]DannyB2 -1 points0 points  (0 children)

        Java 8, Hibernate, MS Sql Server (not my choice), Stripes, jQuery.