Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • Mar 31 18:40
    renatocaval synchronize #2739
  • Mar 31 18:13

    mergify[bot] on master

    Update sbt to 1.3.9 Merge pull request #2795 from s… (compare)

  • Mar 31 18:13
    mergify[bot] closed #2795
  • Mar 31 17:12

    mergify[bot] on template

    Updates Lightbend Banner Merge pull request #223 from ra… (compare)

  • Mar 31 17:12
    mergify[bot] closed #223
  • Mar 31 17:10
    scala-steward opened #2795
  • Mar 31 17:02
    rasummer commented #223
  • Mar 31 17:01
    rasummer opened #223
  • Mar 31 16:58
    rasummer closed #222
  • Mar 31 16:58
    rasummer commented #222
  • Mar 31 16:24
    rasummer commented #222
  • Mar 31 14:06
    ignasi35 synchronize #2727
  • Mar 31 13:51
    ignasi35 edited #2727
  • Mar 31 13:32
    ignasi35 commented #222
  • Mar 31 13:05
    Travis lagom/lagom (1.5.x) broken (7534)
  • Mar 31 10:18
    renatocaval labeled #2727
  • Mar 31 07:54
    renatocaval commented #2690
  • Mar 31 07:48
    jrudolph commented #2690
  • Mar 31 07:47
    jrudolph commented #2690
  • Mar 31 06:38
    Flytan commented #1597
Jules Ivanic
@guizmaii
we also have dto (for Data Transfer Object, maybe a better name can be found. It sounds maybe too much JavaEE bullshit), which are our APIs data structures and we have messages which are our data structures transitings via Kafka
and maybe more. I forgot. I don’t work that much on that project these days
api depends on dto and messages but dto and messages don’t know each others
Jules Ivanic
@guizmaii
APIs data structures and data transiting throught Kafka don’t have the same lifrcycle constraints that why they should be strictly separated
Elijah Rippeth
@erip
Maybe I'll just create a g8 template
Ignasi Marimon-Clos
@ignasi35
just caching up with past conversations here. I like where the conversation is going TBH. Any recommendation from real-world use of lagom to help keep the code well organised and clean is worth evaluating. @guizmaii I’m looking forward to your blog post :-)
Jules Ivanic
@guizmaii
:+1:
Elijah Rippeth
@erip
I've definitely got a lot of TODOs recently from lagom, but I'll try to come up with a g8 template that reflects how I organize things. @guizmaii, I'd be happy if you wanted to work on it, too. Once it's in a good place, I can ping you, @ignasi35
Jules Ivanic
@guizmaii

@guizmaii, I'd be happy if you wanted to work on it, too

Ok let me know what you need

Sergey Morgunov
@ihostage
Hello, contributors! :hand:
I found excellent PR lagom/lagom#1187
Of course this feature undocumented. :smile: Have you not plans to remove it?
I very need this HandlerDef for HTTP filter. :pray:
Tim Moore
@TimMoore
@ihostage it won't be removed… it was introduced for cinnamon support. I didn't realize it would be useful for anything else :smile:
Sergey Morgunov
@ihostage
Thank you @TimMoore :+1:
Sergey Morgunov
@ihostage
Renato Cavalcanti
@renatocaval
@ihostage Lagom only allows to bind one service at userland level. The metrics is bound by default internally and because there is only one implementation, and it's not intended to be swapped, we bind it directly. Does it answer your question?
Renato Cavalcanti
@renatocaval
for information, I added the following integrations on this channel:
  • lagom/lagom
  • lagom/lagom.github.io
  • lagom/lagom-recipes
  • lagom/lagom-java-maven-chirper-example
  • lagom/lagom-java-sbt-chirper-example
  • lagom/online-auction-scala
  • lagom/online-auction-java
  • lagom/lagom-scala.g8
  • lagom/lagom-java.g8
  • lagom/akka-grpc-lagom-quickstart-scala
  • lagom/akka-grpc-lagom-quickstart-java
Jules Ivanic
@guizmaii
+1
Renato Cavalcanti
@renatocaval
GitHub activities on those channels will show up here (on right pane)
and not on lagom/lagom (users) as before
we will also get here all Travis activity for those same channels
Sergey Morgunov
@ihostage
:+1:
:point_up: September 24, 2018 4:39 PM @renatocaval Thank you! Now I think that the injecting MetricsService by implementation is normal case.
Ignasi Marimon-Clos
@ignasi35
:point_up: September 24, 2018 3:51 PM I think MetricsService may be removed some time in the future. It’s a service providing per-instance information so it’s weird to read that info via RPC (where you usually want to treat all instances/nodes equally). Instead, metrics should be pushed to an external aggregator to create some form of dashboard.
Sergey Morgunov
@ihostage
@ignasi35 Thank you! We will try to follow the updates MetricsService. Now we do the following. We subscribe to the stream of data from MetricsService and push data to an external MetricRegistry (+ graphite reporter).
Marcos Pereira
@marcospereira
Hum... okay so we had some failures in https://travis-ci.org/lagom/lagom/jobs/432892553. Will submit a pr to fix them now.
Ignasi Marimon-Clos
@ignasi35
@marcospereira I think the cron idea will not work as good in Lagom because of the validateDependecyWhitelist. As soon as Akka bumps a version the cron will be broken until Akka makes the release and Lagom bumps the release and fixes the whitelist.
Dale Wijnand
@dwijnand
Sounds like Marcos found a way to get an early warning. :)
Marcos Pereira
@marcospereira
:point_up: September 25, 2018 9:04 AM @ignasi35 validateDependencyWhitelist worked locally, but yeah, I was considering that too.
Marcos Pereira
@marcospereira
:point_up: September 25, 2018 7:49 AM here are the fixes: lagom/lagom#1604
Tim Moore
@TimMoore
@ignasi35 @marcospereira could you exclude the whitelist validation from the cron job?
Elijah Rippeth
@erip
Anyone know about this?
I know you all prefer discuss for Lagom questions, so I've been trying to tackle the StackOverflow questions. I'm not sure about this one, though.
Ignasi Marimon-Clos
@ignasi35
isn’t it ?
and also https://gitter.im/lagom/lagom?at=5bab622d8ddf5867dc772fef. (which I just posted). @erip feel free to copy/paste/adapt into SO.
:-)
Elijah Rippeth
@erip
So it is!
Sergey Morgunov
@ihostage
:point_up: September 26, 2018 1:36 PM The author is the same :smile:
kerr
@hepin1989
It will be possible to define a service call with grpc instead of rest endpoints right?
Elijah Rippeth
@erip
@hepin1989 I think that might be a better question for lagom/lagom or discuss.
Ignasi Marimon-Clos
@ignasi35
@hepin1989 yes. But, like @erip said, let’s move to a users channel instead of keeping the discussion here (contributors). Thanks. :-)
Jules Ivanic
@guizmaii
Hi @vasiliy-komarov, this channel is dedicated to discussion about implementations of new things in Lagom
can you stay in the lagom/lagom channel plz for this keed of requests
vasiliy-komarov
@vasiliy-komarov
@guizmaii Okay, sorry.
Jules Ivanic
@guizmaii
thanks :)
Renato Cavalcanti
@renatocaval
I created a 1.5.x branch for Lagom. This is the branch where we are going to finalize the RC cycle and cut the GA
master is now 1.6.0-SNAPSHOT
all work should be done in master and whenever we have something that we want to have in 1.5.0, we cherrypick it onto 1.5.x branch
Przemek Sokół
@falconepl

Hi all! :) I've been wondering recently... when it comes to Scala DSL for Lagom, it feels much like the Java DSL. I can see that oftentimes the return type is a Unit, with side-effects, we reference context in a few places, rather than simply provide a A => B function here and there.

Namely, instead of something like a DSL in akka-ddd [source]:

def canceledOrClosed: Actions =
  handleCommand {
    case CloseReservation(reservationId) =>
      ReservationClosed(reservationId)

    case CancelReservation(reservationId) =>
      ReservationCanceled(reservationId)
  }
  .handleEvent {
    case ReservationCanceled(_) => Canceled
    case ReservationClosed(_) => Closed
  }

we end up writing:

case (AddPost(content), ctx, state) =>
  ctx.thenPersist(PostAdded(entityId, content)) { evt =>
    ctx.reply(AddPostDone(entityId))
  }

or:

case (AddPost(content), ctx, state) =>
  if (content.title == null || content.title.equals("")) {
    ctx.invalidCommand("Title must be defined")
    ctx.done
  }

My questions is - is there any particular reason why Scala DSL for Lagom does not feel Scala-idiomatic and resembles patterns common for Java-like frameworks? (diverging from FP, side-effects etc.)

Przemek Sokół
@falconepl

Wouldn't it be better if one might be able to say e.g.:

case AddPost(content) =>
  PostAdded(entityId, content)
(...)
case PostAdded(entityId, _) =>
  AddPostDone(entityId)

and:

case AddPost(Content(None, _)) | AddPost(Content(Some(""), _)) =>
  InvalidCommand("Title must be defined")

What do you think?

Ignasi Marimon-Clos
@ignasi35
If I remember correctly the main reason for not using pattern matching in lagom’s scaladsl Persistent Entities was having typed responses to commands.