Thanks. I submitted a pull based on your suggestion

https://github.com/apache/activemq-artemis/pull/4368

------- Original Message -------
On Saturday, February 4th, 2023 at 7:31 PM, Clebert Suconic 
<clebert.suco...@gmail.com> wrote:


> I think using the URI and being a property on the connection factory would
> be a good idea.
> 
> On Thu, Feb 2, 2023 at 6:07 PM Scott Werner
> werner.sc...@protonmail.com.invalid wrote:
> 
> > Hi,
> > 
> > I have a need for a more advanced object message deserialization filter
> > than the current black/whitelist functionality. Now that Artemis is Java
> > 11+ compatible, there is now the ability to set an ObjectInputFilter on an
> > ObjectInputStream. There are also built in methods to generate filters
> > similar to the current syntax and offers many other features out of the
> > box. This filter can be set on the `ois` within the getObject() call on the
> > object message, where the black/whitelist is being set today.
> > 
> > I have a concept working locally, and would like to contribute back, but
> > it is not complete, and before submitting a PR could use some advice.
> > Currently, the ConnectionFactoryOptions is used to pass down the
> > black/whitelist through the various layers and implemented by the
> > connection factory and other properties classes. As a user, after creating
> > my connection factory, it would be ideal to set the object filter on it,
> > then any object message received through one of it's sessions will use it
> > for deserialization.
> > 
> > My issue is the best way of passing down this object filter?
> > ConnectionFactoryOptions and its implementations appear to only contain
> > strings or primitives, populated from xml, -Ds or JNDI, and serialized. I
> > don't see anywhere that an object such as this is passed down, usually
> > constructed via configuration, so it feels dirty/violation to add like
> > this. I can bypass these classes and add as a static to
> > ObjectInputstreamWithClassLoader, if set, use. Downside, it affects
> > anything within that classloader and feels equally dirty. Only thing I
> > thought might be acceptable is adding the fully qualified name of the
> > filter class as a string to the configs, and instantiate when necessary.
> > This is not as convenient as setting an already constructed object, but it
> > does avoid the config/serialization issues. Thoughts?
> > Scott
> 
> 
> --
> Clebert Suconic

Reply via email to