Apache Flink/Ververica Community Edition - Question
I am trying to add a custom connector to ververica community edition and keeps giving me the following error:
"The jar contains multiple connector. Please choose one.", it doesn't allow me to choose more jars. I am testing with the following repo generated custom connectors: https://github.com/deadwind4/slink/tree/master/connector-es6
My specific question is there anything specific missing from this repo that we should add to signal ververica about a custom record.
The error message is misleading, and the issue is that no connector was found.
This is because Ververica Platform only supports the new connector interfaces.
Factory discovery also requires an entry in META-INF/services, which appears to be missing.
For examples of connectors that implement these interfaces, see https://github.com/Airblader/flink-connector-imap and https://github.com/knaufk/flink-faker.
(This was answered on the mailing list by Ingo Bürk; I've paraphrased his response.)
Related
Is there a way to get any Apache Camel component "metadata" using Java code, like the list of options and other parameters and their types? I think some automatic help builder was mentioned somewhere that might be of use for this task without using reflection.
A way to get the registered components of all types (including data formats and languages) with java code is also sought. Thanks
Yeah take a look at the camel-catalog JAR which includes all such details. This JAR is what the tooling uses such as some of the Maven tooling itself, or IDE plugs for IntelliJ or Eclipse etc. The JAR has both Java API and metadata files embedded in the JAR you can load.
At runtime you can also access this catalog via RuntimeCamelCatalog which you can access via CamelContext. The runtime catalog is a little bit more limited than CamelCatalog as it has a view of what actually is available at runtime in the current Camel application.
Also I cover this in my book Camel in Action 2nd edition where there is a full chapter devoted on Camel tooling and how to build custom tooling etc.
This is what I've found so far
http://camel.apache.org/componentconfiguration.html
I found this NuGet package interesting: a embedded rdf database in C# based on OpenLink Virtuoso, with MIT licensing...
But, when I tried to find any instruction about usage, or the API reference, I couldn't find it...
I installed TinyVirtuoso.win v 7.2.1 from NuGet ...
Why doesn't the sample code in "First Steps" work?
It does not recognize VirtuosoConnection() nor IStore
using Semiodesk.TinyVirtuoso;
using Semiodesk.VirtuosoInstrumentation;
// Create a new Virtuoso store in a directory named 'Data', located in your app folder.
var virtuoso = new TinyVirtuoso("Data");
// You can have multiple separate database instances which contain different data.
// This will create a directory "Data/ExampleProject" in your app directory.
var instance = virtuoso.GetOrCreateInstance("ExampleProject");
// Start the embedded database server instance.
instance.Start();
// a) You can access the store using the Semiodesk Trinity graph database API.
// Please refer to our Trinity documentation and examples for more information.
IStore store = StoreFactory.CreateStore(instance.GetTrinityConnectionString());
// b) Alternatively, you can use it with plain ADO.Net to use the relational
// database features and SQL (make sure to install OpenLink.Data.Virtuoso).
var connection = new VirtuosoConnection();
connection.ConnectionString = instance.GetAdoNetConnectionString();
connection.Connect();
// When you are done, stop the embedded database server instance.
instance.Stop();
Looking it over quickly, I think TinyVirtuoso is not an "embedded RDF database in C#" (which is not surprising, as that would require portation of the entire C-based VOS (Virtuoso Open Source) project). Note that their wiki says —
TinyVirtuoso does not link against OpenLink Virtuoso in any way. It just provides a way to start, stop and configure the software.
Elsewhere in that wiki, they say they depend on the Open Source Virtuoso project, but it's not clear whether they fully install Virtuoso, just install the ADO.NET client library, or somewhere in between.
I did notice this advice --
The software is supported by Semiodesk. If you have any questions, suggestions or just want to tell us in which projects you are using the library, don't hesitate to hello#semiodesk.com.
-- which led me to a somewhat more informative (and I think more recently updated) page on Semiodesk's website, which suggests that they do indeed intend bundling the main Virtuoso binary, among other things, which I don't think you've installed yet.
Documentation of Virtuoso itself, and its ADO.NET Provider (both Installation/Configuration and Programming/API), are found on the OpenLink website.
I hope this is helpful...
I am trying to configure SOLR indexing with AEM 6.1 but struggling with the following: -
What type of installation should be used for SOLR (embedded v/s
remote).
How to configure the selected installation with AEM 6.1.
How to determine whether the indexing has been successfully done.
Any help would be extremely appriciated.
I did lot of research on SOLR with AEM 6.0. I think I can answer to your question.
It depends on what are the requirements of the client. If the clients needs a quick search response and it have lot of content, you should prefer remove vs embedded. If the site has small content, the embedded could be sufficient. The remote permit to have a sharded cluster, so you can optimize the concurrent search response by adding more shared
The documentation of AEM is pretty well documented about this. You can find here: https://docs.adobe.com/docs/en/aem/6-1/deploy/platform/queries-and-indexing.html
Finally you can see the indexation well configured by enabling the logging configuration about the search (Look for to Enable Logging in the previous URL). You can test your search with tool in the ACS-Common with tools in ACS-Tools (http://adobe-consulting-services.github.io/acs-aem-tools/)
Hope this will help you.
Stéphane
I've stumbled upon these projects, as I searched for AEM Solr integration:
https://github.com/headwirecom/aem-solr-search
https://github.com/infielddesign/aem-id-solrindexer
Maybe it will help you with the Solr integration and configuration.
And as already mentioned above, the type of installation highly depends on your customer requirements.
I would like to use Autofac in my Sitecore project with Solr,
I have set next code to global.asax
<%#Application Language='C#' Inherits="Sitecore.ContentSearch.SolrProvider.AutoFacIntegration.AutoFacApplication" %>
but i see an error
Method not found: 'Void Autofac.RegistrationExtensions.RegisterModule(Autofac.ContainerBuilder, Autofac.Core.IModule)'.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.MissingMethodException: Method not found: 'Void Autofac.RegistrationExtensions.RegisterModule(Autofac.ContainerBuilder, Autofac.Core.IModule)'
I have checked AutoFac version and it is correct 3.5.2 like in Sitecore.ContentSearch.SolrProvider.AutoFacIntegration
What should I do to set up it correct in term of Sitecore.
This issue happens because Sitecore's Solr support package relies on an old Autofac version (3.1.5 or earlier) where the method builder.RegisterModule() was still defined in Autofac.RegistrationExtensions. Newer Autofac versions have a similar method defined in the class Autofac.ModuleRegistrationExtensions.
Without Sitecore recompiling the Solr/Autofac integration dlls, unfortunately, there are only two ways around this:
Use another DI library;
Write your own Solr/Autofac integration.
This issue is still present in the Solr support package shipped with Sitecore 8.2.
I have registered this issue with Sitecore Support.
Edit: Sitecore replied that the support of Autofac 3.2 and later is on the wish list. To track the status of this request, you can use the reference number 94626.
Have you removed all the Lucene config files and added in all the solr config files in the App_Config/Include.
You will also need to drop in all the Solr Dlls as shown below.
I am trying to parse excel 2007 (.xlsx) file using Apache POI library on Google AppEngine but while doing that I am getting an exception (see below).
java.lang.IllegalAccessException: Class com.google.appengine.tools.development.agent.runtime.Runtime$21 can not access a member of class org.apache.poi.xssf.usermodel.XSSFSheet with modifiers "protected"
So I checked with Apache POI team, but they claim that its an AppEngine issue. I am not sure what is the right place for AppEngine questions, but I know lot of appengine developers monitor Stackoverflow. So posting this question here.
Bug filed for Apache POI team : https://issues.apache.org/bugzilla/show_bug.cgi?id=55665
This bug has a sample maven project, and instructions to reproduce it.
I am not sure how to attach this zip file here.
If any one knows how to fix this then let me know, or right place to file bug.
The key part of the stacktrace is:
java.lang.IllegalAccessException: Class com.google.appengine.tools.development.agent.runtime.Runtime$21 can not access a member of class org.apache.poi.xssf.usermodel.XSSFSheet with modifiers "protected"
at sun.reflect.Reflection.ensureMemberAccess(Reflection.java:105)
at com.google.appengine.tools.development.agent.runtime.Runtime$22.run(Runtime.java:488)
at java.security.AccessController.doPrivileged(Native Method)
at com.google.appengine.tools.development.agent.runtime.Runtime.checkAccess(Runtime.java:485)
at com.google.appengine.tools.development.agent.runtime.Runtime.checkAccess(Runtime.java:479)
at com.google.appengine.tools.development.agent.runtime.Runtime.newInstance_(Runtime.java:123)
at com.google.appengine.tools.development.agent.runtime.Runtime.newInstance(Runtime.java:135)
at org.apache.poi.xssf.usermodel.XSSFFactory.createDocumentPart(XSSFFactory.java:60)
I've run into the same issue. I think this is only an issue with the development server. Admittedly, this doesn't fully answer your question but I guess the situation at least isn't as bas as you'd think. To get around the issue I've been developing my POI code in a standard Java project (using dummy data) and then copying it into the App Engine project.
I've logged the issue with Google: https://code.google.com/p/googleappengine/issues/detail?id=11752
If you're interested, in the process of logging the issue, I created a sample project which is also available on App Engine (which works as it's running in the production environment).
Sample project: https://bitbucket.org/bronze/jakarta-poi-issue
App running on production environment: http://bronze-gae-poi-issue.appspot.com/