cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tony <>
Subject Re: entity Qualifiers and enums
Date Wed, 02 Oct 2019 14:26:22 GMT
If you’re going to use the model in several applications, I don’t know of a better way.
We package the model, the generated classes and a set of services for basic access to the
model in one jar. Then each app includes the jar and implements a set of business services.

Up to this point our apps are different enough that we don’t share business logic. But I
could see that happening at some point and then we’ll build a business services jar and
share that as well. 

We break our apps into two parts. One handles web api requests. It inserts entries in a task
table and a worker job picks those up and processes them. Classic example is a file dropped
in a google bucket. GCP creates a pub/sub notification to our manager app. It validates the
bucket name, uses that to identify what kind of file has been uploaded and creates a task
to process the upload. A few google api calls a select or two and  one insert into a task

A worker app, wakes up, queries the task table and acts on the file that was uploaded. 

If we need to scale we could run multiple workers and handle load by claiming tasks.


Tony Giaccone

On Oct 2, 2019, at 5:09 AM, Rafael Bugajewski <> wrote:

>> On Oct 2, 2019, at 12:23 AM, Tony Giaccone <> wrote:
>> The other thing that bites me from time to time, is that we have our data model classes
in a separate jar file. When you make changes to that and build from the command line, the
related builds don't pick up the change unless you install it in the local repository.  Not
a problem if I build from the root directory, but I don't always want to build everything.
> It’s essentially the same thing here. We have our model classes and other common code
in a separate JAR file that we can deploy across several services. It’s a PITA, especially
if you only need to introduce small changes to test something out, but there’s no better
way, or is there?
> Best,
> Rafael

View raw message