-
Notifications
You must be signed in to change notification settings - Fork 647
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Cannot Disable Raven (3.3.4) #923
Comments
Yes this is related to #797. |
The workaround: public class MyProduction : PerformanceCounters
{
}
public class MyProductionProfileHandler : IHandleProfile<MyProduction>
{
void IHandleProfile.ProfileActivated()
{
if (!Configure.Instance.Configurer.HasComponent<IManageMessageFailures>())
Configure.Instance.MessageForwardingInCaseOfFault();
}
} Add the above code to your endpoint, this should stop Raven from being called. |
Yes I am using the production profile. It’s a bit disappointing you are not patching 3.x there are some pretty ugly and broad assumptions here in regards to Raven: internal class ProductionProfileHandler : IHandleProfile<Production>, IWantTheEndpointConfig
{
void IHandleProfile.ProfileActivated()
{
Configure.Instance.RavenPersistence();
if (!Configure.Instance.Configurer.HasComponent<ISagaPersister>())
Configure.Instance.RavenSagaPersister();
if (!Configure.Instance.Configurer.HasComponent<IManageMessageFailures>())
Configure.Instance.MessageForwardingInCaseOfFault();
if (Config is AsA_Publisher && !Configure.Instance.Configurer.HasComponent<ISubscriptionStorage>())
Configure.Instance.RavenSubscriptionStorage();
}
public IConfigureThisEndpoint Config { get; set; }
} I will put the work around in. thanks . Regards, |
I can confirm the workaround fixes the Raven Calls on 8080. It does not however stop the Raven Licencing code from being called? Is there a workaround for that? Rhino.Licensing.AbstractLicenseValidator contains a hardcoded list of time servers, some of which don’t resolve in my environment which causes a cascade of network exceptions and timeouts. How do I prevent Rhino.Licensing.LicenseValidator from being loaded? |
That is good to hear. Regarding |
Ok thanks. |
On second glance it actually it looks like its NSBs use of Rhino.Licensing.AbstractLicenseValidator the causing the exceptions? So I guess that calling external time servers is an intended side effect of using Rhino.Licensing? and therefore what I am seeing is by design? protected AbstractLicenseValidator(string publicKey)
{
this.Log = LogManager.GetLogger(typeof(LicenseValidator));
this.TimeServers = new string[] { "time.nist.gov", "time-nw.nist.gov", "time-a.nist.gov", "time-b.nist.gov", "time-a.timefreq.bldrdoc.gov", "time-b.timefreq.bldrdoc.gov", "time-c.timefreq.bldrdoc.gov", "utcnist.colorado.edu", "nist1.datum.com", "nist1.dc.certifiedtime.com", "nist1.nyc.certifiedtime.com", "nist1.sjc.certifiedtime.com" };
this.LicenseAttributes = new Dictionary<string, string>();
this.nextLeaseTimer = new Timer(new TimerCallback(this.LeaseLicenseAgain));
this.publicKey = publicKey;
}
private void ValidateUsingNetworkTime()
{
if (NetworkInterface.GetIsNetworkAvailable())
{
new SntpClient(this.TimeServers).BeginGetDate(delegate (DateTime time) {
if (time > this.ExpirationDate)
{
this.RaiseLicenseInvalidated();
}
}, delegate {
});
}
}
public void BeginGetDate(Action<DateTime> getTime, Action failure)
{
this.index++;
if (this.hosts.Length <= this.index)
{
failure();
}
else
{
try
{
string hostNameOrAddress = this.hosts[this.index];
State state = new State(null, null, getTime, failure);
IAsyncResult result = Dns.BeginGetHostAddresses(hostNameOrAddress, new AsyncCallback(this.EndGetHostAddress), state);
this.RegisterWaitForTimeout(state, result);
}
catch (Exception)
{
this.BeginGetDate(getTime, failure);
}
}
} |
Issue raised upstream ayende/rhino-licensing#5 |
Since its been fixed we should update NSB with the lastest Rhino.Licensing. Thanks for bringing this up! On Tue, Jan 29, 2013 at 8:44 AM, drivenlogic.com.au <
|
No Problem! 👍 Regards, |
.DisableRavenInstall()
Raven is still activated during start-up and is making two networking calls that are conflicting with other processes listening on 8080.
Which on the NSB side looks like this:
How do I disable Raven? Or at least stop it making network requests?
This may be the fix #797
But its flaged for NSB v4 ? this is no doubt a bug and needs fixing in 3.x
Regards,
Andrew Stone.
The text was updated successfully, but these errors were encountered: