Hi Cesar and Christofer,

This is great news, I was also looking at the PLC4X projects a while back
and thought it would be a great fit to create transforms for it.
Unfortunately did not yet find the time to start the actual integration
work. It is great to see how the Apache projects interact with each other.
Very happy to have joined this community!

If you need any help please let us know!

Cheers,
Hans

On Fri, 21 Jan 2022 at 15:31, Cesar Garcia <[email protected]> wrote:

> Hello Chris,
>
> I Use another method to share the connection. The connection is wrapped
> with a ReferenceCountUtil object from the Netty library, which is shared by
> the PLC4XTransforms.
>
> I thought that the most laborious thing for the integration of the
> libraries would be the handling of types, but everything was almost
> transparent.
>
> I am currently attacking a memory leak that affects long-term operation to
> consider integrating into Hop.
>
> I am very happy with the integration of both projects,
>
> Kind regards,
>
> El vie, 21 ene 2022 a las 7:54, Christofer Dutz (<[email protected]>)
> escribió:
>
> > Hi Hop community and @Cesar,
> >
> > coming a bit late to the party ... but how about using our Plc4x
> > connection-pool/cache for this?
> > We could share one instance of the connection pool and then each
> operation
> > leases and returns the connections and the pool should manage the
> > concurrency.
> >
> > If it runs on multiple hosts it would obviously be multiple instances of
> > the pool and hereby multiple connections to a PLC (one from each node)
> ...
> > Generally when working with PLCs I wouldn't reccomend to connect a
> cluster
> > to a plc as that's just not how PLCs work (Some only allow 1-3 concurrent
> > connections).
> >
> > Chris
> >
> >
> > On 2021/12/15 13:57:51 Cesar Garcia wrote:
> > > Hi Matt,
> > >
> > > Thank you for your comments,
> > >
> > > Indeed, as you point out, in this case, these libraries should run
> > locally,
> > > in order to transfer the information to the pipes.
> > >
> > > Excellent observation on how to store generic objects in pipes with
> > > "getExtensionDataMap" and as you point out, the problem is the life
> cycle
> > > management of objects between pipes (the entertaining part).
> > >
> > > I will be consulting any dua,
> > >
> > > Thanks a lot.
> > >
> > > El mar, 14 dic 2021 a las 14:59, Matt Casters
> > > (<[email protected]>) escribió:
> > >
> > > > Hi César,
> > > >
> > > > First of all: welcome to the Hop community.
> > > >
> > > > Usually we make a distinction between the connection metadata
> > (hostname,
> > > > port, username, password, and all sorts of other options).
> > > > Implementing this is fairly easy.   Take for example the source code
> > > > of the Cassandra
> > > > database
> > > > <
> > > >
> >
> https://github.com/apache/incubator-hop/blob/master/plugins/tech/cassandra/src/main/java/org/apache/hop/databases/cassandra/metadata/CassandraConnection.java
> > > > >
> > > > connection metadata.
> > > > In the same package you can find the code for the user interface (
> > > > CassandraConnectionEditor.java
> > > > <
> > > >
> >
> https://github.com/apache/incubator-hop/blob/master/plugins/tech/cassandra/src/main/java/org/apache/hop/databases/cassandra/metadata/CassandraConnectionEditor.java
> > > > >).
> > > > Most of the user interface is generated automatically.
> > > > Doing it like this will make a PLC4x connection a first class
> metadata
> > > > citizen and show up in the metadata perspective for example. You'd
> also
> > > > have direct access to the metadata widget in the plugin user
> > interfaces.
> > > > This makes the lives of the PLC4x users a lot easier.
> > > >
> > > > For the actual instantiation of a connection at runtime it's true
> that
> > > > usually every transform has its own connection but this doesn't have
> > to be
> > > > the case.
> > > > Transforms can store and retrieve runtime objects in the current
> > pipeline
> > > > using *IPipelineEngine.getExtensionDataMap()*.
> > > > You do need to be careful about race conditions since all transforms
> > start
> > > > in parallel.  Obviously you can also use a singleton design pattern
> in
> > > > Java.
> > > >
> > > > Also note that this connection sharing would work for a local Hop
> > execution
> > > > engine but not for Beam where processing happens typically in a
> > massively
> > > > parallel fashion.
> > > > While technically the pipelines would still work there would be no
> > > > immediate way for the implementation to limit the number of
> > connections.
> > > >
> > > > Please let us know if you need any help with the creation of PLC4x
> > > > connectivity plugins themselves. We'd be happy to help out.
> > > >
> > > > Kind regard,
> > > >
> > > > Matt
> > > >
> > > > On Tue, Dec 14, 2021 at 4:12 PM Cesar Garcia <
> [email protected]
> > >
> > > > wrote:
> > > >
> > > > > Hi all,
> > > > >
> > > > > My name is Cesar Garcia, I am part of the Apache PLC4x team.
> > > > >
> > > > > I have been evaluating integrating the PLC4x communication
> libraries
> > to
> > > > the
> > > > > HOP environment, but I have the following doubts:
> > > > >
> > > > > 1. It is possible to share a connection between all pipelines.
> > > > > 2. In this aspect, it is correct to create the connection in an
> > "Action"
> > > > > and share it through "PluginRegistry.getInstance ()".
> > > > >
> > > > > The pattern of use is that each pipelines creates its connection to
> > the
> > > > > databases, in our type of application the connection to the devices
> > is
> > > > > limited, therefore they must share the resource.
> > > > >
> > > > > Grateful for your comments,
> > > > >
> > > > > Best regards,
> > > > >
> > > > > --
> > > > > *CEOS Automatización, C.A.*
> > > > > *GALPON SERVICIO INDUSTRIALES Y NAVALES FA, C.A.,*
> > > > > *PISO 1, OFICINA 2, AV. RAUL LEONI, SECTOR GUAMACHITO,*
> > > > >
> > > > > *FRENTE A LA ASOCIACION DE GANADEROS,BARCELONA,EDO. ANZOATEGUI*
> > > > > *Ing. César García*
> > > > >
> > > > > *Cel: +58 414-760.98.95*
> > > > >
> > > > > *Hotline Técnica SIEMENS: 0800 1005080*
> > > > >
> > > > > *Email: [email protected]
> > > > > <[email protected]>*
> > > > >
> > > >
> > > >
> > > > --
> > > > Neo4j Chief Solutions Architect
> > > > *✉   *[email protected]
> > > >
> > >
> > >
> > > --
> > > *CEOS Automatización, C.A.*
> > > *GALPON SERVICIO INDUSTRIALES Y NAVALES FA, C.A.,*
> > > *PISO 1, OFICINA 2, AV. RAUL LEONI, SECTOR GUAMACHITO,*
> > >
> > > *FRENTE A LA ASOCIACION DE GANADEROS,BARCELONA,EDO. ANZOATEGUI*
> > > *Ing. César García*
> > >
> > > *Cel: +58 414-760.98.95*
> > >
> > > *Hotline Técnica SIEMENS: 0800 1005080*
> > >
> > > *Email: [email protected]
> > > <[email protected]>*
> > >
> >
>
>
> --
> *CEOS Automatización, C.A.*
> *GALPON SERVICIO INDUSTRIALES Y NAVALES FA, C.A.,*
> *PISO 1, OFICINA 2, AV. RAUL LEONI, SECTOR GUAMACHITO,*
>
> *FRENTE A LA ASOCIACION DE GANADEROS,BARCELONA,EDO. ANZOATEGUI*
> *Ing. César García*
>
> *Cel: +58 414-760.98.95*
>
> *Hotline Técnica SIEMENS: 0800 1005080*
>
> *Email: [email protected]
> <[email protected]>*
>

Reply via email to