Comments (4)
This seem to cause two issues for me:
a) Shutting down a server will trigger the client to throw "unknown endpoint" exceptions
b) Running with different class loaders causes "Address in use" exceptions although servers are shut down
So this may seem a bit esoteric, but in fact it is not. a) is easily triggered when you activate Milo as an optional component and then later deactivate it. The port is kept open and the server log will record "unkown endpoint" exceptions although the service should be disposed. b) Is triggered when you are running unit tests, like with surefire, which puts unit tests in different class loaders. So the "static" allServers collections is actually instantiated multiple times.
from milo.
@ctron the PR includes a test, but maybe you can verify this fix works in your use case?
from milo.
I can give it a try. I have a reproducible case with Maven and unit tests.
from milo.
👍 I can confirm that this works.
Here is what I did:
- switch to branch
mvn clean install
- remove my workaround -> fork all unit tests
- run my unit tests -> OK
- switch back to master branch
mvn clean install
-> old version is back- run my unit tests -> failure: "Address already in use"
- re-apply my workaround
- run my unit tests -> OK
from milo.
Related Issues (20)
- Security upgrade to netty-4.1.105.Final
- CertificateValidationUtil issuer certificate KeyUsage checks
- How to read CustomStructType? HOT 1
- Remove dependency on lombok
- milo version 0.6.11 monitors the approximate limit of the number of PLC points HOT 1
- URI Reading Error HOT 8
- Port forwarding HOT 1
- Milo 0.6.12 Gradle ambiguity error for guava 33 HOT 4
- EndpointDescription is only chosen based on path, not hostname, preventing different certificates per-endpoint HOT 2
- status=Bad_Timeout HOT 1
- Convert `AddressSpace` to blocking API
- Roles and Permissions HOT 1
- Cannot connect to Secured OPC Server HOT 2
- How i can get and mange pEventAttributes from OPC AE and wrapper with Milo? HOT 1
- Setting a node's value to null resp. clearing the node HOT 2
- Upgrade Netty to 4.1.108.Final
- Misleading declaration of `CompositeValidator` compared to its use HOT 3
- Getting `Bad_SecurityChecksFailed` followed by `Bad_ConnectionClosed` when using recursion with `OpcUaClient.getAddressSpace().browseNodesAsync(UaNode).thenCompose()` HOT 22
- Use ReferenceTypeTree in OpcUaServer
- Vulnerabilities CVE-2024-30172/CVE-2024-30171/CVE-2024-29857 for bouncycastle HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from milo.