Posted by Michael Roth
on Januar 06, 2012
PHP /
Kommentare deaktiviert für AssociateTag in Zendframework Amazon Anfragen
Wie bereits erwähnt hat Amazon die Product Advertising API geändert. Daher ist nun bei jeder Anfrage eine PartnerId (engl. AssociateTag) notwendig, sonst wird folgende Fehlermeldung ausgegeben:
Your request is missing required parameters.
Required parameters include AssociateTag.
Es gibt zwei Möglichkeit dieses AssociateTag im Zendframework zu setzen. Die PartnerID kann an die beiden Anfrage itemLookup() und itemSearch() im Optionen-Array mit übergeben werden.
$aws = new RD_Amazon_Query($awsID,'DE',$awsKey);
$item=$aws->category('All')->itemLookup($asin,
array('ResponseGroup' => 'OfferFull, BrowseNodes,Large',
'MerchantId' => 'Amazon',
'AssociateTag' => 'rothdigital-21');
Als Alternative kann die Methode AssociateTag(‚rothdigital-21‘) benutzt werden um den Wert als Methodenaufruf zu setzten. Wichtig ist, dass die Category bei Anfragen als erstes gesetzt wird und dann erst AssociateTag.
$aws = new RD_Amazon_Query($awsID,'DE',$awsKey);
$item=$aws->category('All')->AssociateTag('rothdigital-21')
->itemLookup($asin,
array('ResponseGroup' => 'OfferFull, BrowseNodes,Large',
'MerchantId' => 'Amazon');
Diese beiden Wege funktionieren mit Zendframework 1.11. Es gibt schon einen Bug-Report, der vorschlägt die PartnerId in den Konstruktor zu übernehmen. Daher kann sich das Verhalten im nächsten Release des Zendframework wieder ändern. Sollten Sie Änderungen feststellen, benutzen Sie einfach hier die Kommentarfunktion.
Tags: Amazon, PHP, Zendframework
Posted by Michael Roth
on November 03, 2011
PERL /
Kommentare deaktiviert für Änderung in der Amazon Product Advertising API
Seit dem 26. Oktober 2011 ist für das Abfragen von Produktinformationen über die Amazon Product Advertising API die Angabe eine Partner-ID, auch „associate tag“ genannt, notwendig. Alle Anfrage ohne diese Partner-ID liefert folgenden Fehler:
Your request is missing required parameters.
Required parameters include AssociateTag.
Eine Partner-ID kann auf der Seite https://partnernet.amazon.de einfach und kostenlos beantragt werden.
Unter Perl empfehle ich den Einsatz des CPAN Moduls Net::Amazon. Ab der Version 0.61, die am 28. Oktober 2011, erschienen ist, kann beim Konstruktor das Parameter associate_tag übergeben werden. Das Erzeugen des Objekts sieht dann wie folgt aus:
my $ua = Net::Amazon->new(
associate_tag => 'YOUR_AMZN_ASSOCIATE_TAG',
token => 'YOUR_AMZN_TOKEN',
secret_key => 'YOUR_AMZN_SECRET_KEY',
);
Eine genaue Anleitung ist auf der CPAN-Seite zu finden.
Tags: Amazon, Perl
Posted by Michael Roth
on Januar 25, 2011
Java,
Programmieren /
Kommentare deaktiviert für Deadlock-Erkennung mit Eclipse
Bei großen Projekten mit vielen Threads müssen die Zugriffe auf gemeinsame Objekte geregelt werden. Hierfür werden Teile des Java Codes mit einem synchronized Block versehen. Damit kann garantiert werden, dass nur immer ein Thread diesen Block ausführt. Bei mehreren synchronized Blöcken kann die Übersicht verloren gehen. Es entstehen Deadlocks. Die Suche nach diesen ist nicht einfach.
Aber zum Glück bietet Eclipse hier Hilfe an. Falls ein Programm auf Grund von Deadlocks nicht beendet wird, so kann man in der Debug-Ansicht das Programm pausieren. Über die Optionen kann man zusätzliche Informationen über die Monitore und System Threads anzeigen.
- Dead Lock Erkennung mit Eclipse
Dadurch werden die Prozesse, die an einem Deadlock beteiligt sind in der List rot dargestellt und es ist erkennbar welche Locks der Thread erhalten hat und auf welche er noch wartet. Im unteren Bild ist gut erkennbar, dass der main Thread bereits drei Ressourcen hat, aber noch auf die Klasse EventDisptacherImpl wartet.
- Am Deadlock beteiligte Prozesse werden rot dargestellt
Mit dieser Einstellung ist das Finden von Deadlocks in Eclipse sehr einfach.
Tags: Eclipse, Java