I am using ActiveJDBC as an alternative to Hibernate. I am using a Filter to start the connection whenever I run the application, but the connection will be there even when it is not needed by the application. Also, when I try to run any query by findBySQL method, it also calls gets connection in the background. Is there a way to optimize connections to the database? There might be many queries at times, so opening and closing the connection every time a query is called might not be good for performance. If there is any way or if I am missing some important point in understanding, do let me know.
            Asked
            
        
        
            Active
            
        
            Viewed 78 times
        
    1 Answers
1
            You can use a fine-grained approach in the AppControllerConfig class. Here is an example from a commercial project:
public class AppControllerConfig extends AbstractControllerConfig {
public void init(AppContext context) {
    add(new CatchAllFilter());
    add(new DefaultApiHeadersFilter());
    add(new DBConnectionFilter("default", true)).to(
            GroupsController.class,
            UsersController.class,
            SubjectsController.class,
            ChaptersController.class,
            LessonsController.class,
            LessonItemsController.class,
            JournalItemsController.class,
            GalleryItemsController.class
    );
  }
}
As  you can see, you can apply a DBConnectionFilter to specific controllers.
The arguments in this example will tell DBConnectionFilter to automatically manage transactions for a  default connection.
Furthermore, you can specify exactly what actions require a DB connection like this:
add(new DBConnectionFilter("events", false)).to(FlowsController.class).forActions("report", "report_details", "webhook_test");
if you want the opposite, you can apply the filter to all actions, except some:
  add(new DBConnectionFilter("default", true).to(TemplatesController.class).excludeActions("thumbnail");
        ipolevoy
        
- 5,432
 - 2
 - 31
 - 46
 
- 
                    there is no AppControllerConfig class in my project, so where do I need to put this code? – abhishek rawat Feb 17 '21 at 05:40
 - 
                    @abhishekrawat, just saw this. You can refer to many example projects. Here is one: https://github.com/javalite/javalite-examples/tree/master/activeweb-simple/src/main/java/app/config – ipolevoy Apr 07 '21 at 23:02